in plugins/org.apache.karaf.eik.workbench/src/main/java/org/apache/karaf/eik/workbench/provider/ServiceItem.java [113:155]
public Object getAdapter(@SuppressWarnings("rawtypes") Class adapter) {
final Object o;
if (adapter == null) {
o = null;
} else if (adapter.equals(BundleItem.class)) {
if (serviceReference != null) {
o = new BundleItem(serviceReference.getBundle(), null, null);
} else {
o = null;
}
} else if (adapter.equals(ServiceData.class)) {
if (serviceReference != null) {
o = new ServiceData(serviceReference);
} else {
o = ServiceData.from(rawServiceData);
}
} else if (adapter.equals(ServiceReference.class)) {
if (serviceReference != null) {
o = serviceReference;
} else {
o = null;
}
} else if (adapter.equals(Bundle.class)) {
if (serviceReference != null) {
o = serviceReference.getBundle();
} else {
o = null;
}
} else if (adapter.equals(Properties.class)) {
if (serviceReference != null) {
o = new Properties();
for (String key : serviceReference.getPropertyKeys()) {
((Properties)o).put(key, serviceReference.getProperty(key));
}
} else {
o = null;
}
} else {
o = null;
}
return o;
}