1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.osgi.service.importer.support;
17
18 import org.osgi.framework.Bundle;
19 import org.osgi.framework.ServiceReference;
20 import org.springframework.osgi.service.importer.ImportedOsgiServiceProxy;
21 import org.springframework.util.Assert;
22
23 /**
24 * {@link ServiceReference} adapter using a {@link ImportedOsgiServiceProxy}
25 * internally for delegation.
26 *
27 * @author Costin Leau
28 *
29 */
30 class ServiceReferenceDelegate implements ServiceReference {
31 private final ImportedOsgiServiceProxy delegate;
32
33 public ServiceReferenceDelegate(ImportedOsgiServiceProxy delegate) {
34 Assert.notNull(delegate, "delegate object should not be null");
35 this.delegate = delegate;
36 }
37
38 public Bundle getBundle() {
39 return delegate.getServiceReference().getBundle();
40 }
41
42 public Object getProperty(String key) {
43 return delegate.getServiceReference().getProperty(key);
44 }
45
46 public String[] getPropertyKeys() {
47 return delegate.getServiceReference().getPropertyKeys();
48 }
49
50 public Bundle[] getUsingBundles() {
51 return delegate.getServiceReference().getUsingBundles();
52 }
53
54 public boolean isAssignableTo(Bundle bundle, String className) {
55 return delegate.getServiceReference().isAssignableTo(bundle, className);
56 }
57
58 public String toString() {
59 return "ServiceReference wrapper for " + delegate.getServiceReference();
60 }
61 }