org.osgi.framework
public interface ServiceReference extends Comparable
The Framework returns ServiceReference objects from the
BundleContext.getServiceReference and
BundleContext.getServiceReferences methods.
A ServiceReference object may be shared between bundles and
can be used to examine the properties of the service and to get the service
object.
Every service registered in the Framework has a unique
ServiceRegistration object and may have multiple, distinct
ServiceReference objects referring to it.
ServiceReference objects associated with a
ServiceRegistration object have the same hashCode
and are considered equal (more specifically, their equals()
method will return true when compared).
If the same service object is registered multiple times,
ServiceReference objects associated with different
ServiceRegistration objects are not equal.
Version: $Revision: 1.20 $
See Also: BundleContext BundleContext BundleContext
UNKNOWN:
| Method Summary | |
|---|---|
| int | compareTo(Object reference)
Compares this ServiceReference with the specified
ServiceReference for order.
|
| Bundle | getBundle()
Returns the bundle that registered the service referenced by this
ServiceReference object.
|
| Object | getProperty(String key)
Returns the property value to which the specified property key is mapped
in the properties Dictionary object of the service
referenced by this ServiceReference object.
|
| String[] | getPropertyKeys()
Returns an array of the keys in the properties Dictionary
object of the service referenced by this ServiceReference
object.
|
| Bundle[] | getUsingBundles()
Returns the bundles that are using the service referenced by this
ServiceReference object. |
| boolean | isAssignableTo(Bundle bundle, String className)
Tests if the bundle that registered the service referenced by this
ServiceReference and the specified bundle use the same
source for the package of the specified class name.
|
ServiceReference with the specified
ServiceReference for order.
If this ServiceReference and the specified
ServiceReference have the same
service id they are equal. This
ServiceReference is less than the specified
ServiceReference if it has a lower
service ranking and greater if it has a
higher service ranking. Otherwise, if this ServiceReference
and the specified ServiceReference have the same
service ranking, this
ServiceReference is less than the specified
ServiceReference if it has a higher
service id and greater if it has a lower
service id.
Parameters: reference The ServiceReference to be compared.
Returns: Returns a negative integer, zero, or a positive integer if this
ServiceReference is less than, equal to, or
greater than the specified ServiceReference.
Since: 1.4
ServiceReference object.
This method must return null when the service has been
unregistered. This can be used to determine if the service has been
unregistered.
Returns: The bundle that registered the service referenced by this
ServiceReference object; null if
that service has already been unregistered.
See Also: (String[],Object,java.util.Dictionary)
Dictionary object of the service
referenced by this ServiceReference object.
Property keys are case-insensitive.
This method must continue to return property values after the service has
been unregistered. This is so references to unregistered services (for
example, ServiceReference objects stored in the log) can
still be interrogated.
Parameters: key The property key.
Returns: The property value to which the key is mapped; null
if there is no property named after the key.
Dictionary
object of the service referenced by this ServiceReference
object.
This method will continue to return the keys after the service has been
unregistered. This is so references to unregistered services (for
example, ServiceReference objects stored in the log) can
still be interrogated.
This method is case-preserving ; this means that every key in the
returned array must have the same case as the corresponding key in the
properties Dictionary that was passed to the
(String[],Object,java.util.Dictionary)
or ServiceRegistration methods.
Returns: An array of property keys.
ServiceReference object. Specifically, this method returns
the bundles whose usage count for that service is greater than zero.
Returns: An array of bundles whose usage count for the service referenced
by this ServiceReference object is greater than
zero; null if no bundles are currently using that
service.
Since: 1.1
ServiceReference and the specified bundle use the same
source for the package of the specified class name.
This method performs the following checks:
ServiceReference (registrant bundle); find the source for
the package. If no source is found then return true if the
registrant bundle is equal to the specified bundle; otherwise return
false.true;
otherwise return false.Parameters: bundle The Bundle object to check. className The class name to check.
Returns: true if the bundle which registered the service
referenced by this ServiceReference and the
specified bundle use the same source for the package of the
specified class name. Otherwise false is returned.
Since: 1.3