S - Type of Service@ProviderType public interface ComponentServiceObjects<S>
A component instance can receive a ComponentServiceObjects object via
a reference that is typed ComponentServiceObjects.
For services with prototype scope, multiple
service objects for the service can be obtained. For services with
singleton or bundle scope, only one, use-counted service object is available.
Any unreleased service objects obtained from this
ComponentServiceObjects object are automatically released by Service
Component Runtime when the service becomes unbound.
ServiceObjects| Modifier and Type | Method and Description |
|---|---|
S |
getService()
Returns a service object for the
associated service. |
ServiceReference<S> |
getServiceReference()
Returns the
ServiceReference for the service associated with this
ComponentServiceObjects object. |
void |
ungetService(S service)
Releases a service object for the
associated service. |
S getService()
associated service.
This method will always return null when the associated service
has been become unbound.
null if
the service is unbound, the customized service object returned by
a ServiceFactory does not implement the classes under
which it was registered or the ServiceFactory threw an
exception.IllegalStateException - If the associated service has been become
unbound.ungetService(Object)void ungetService(S service)
associated service.
The specified service object must no longer be used and all references to it should be destroyed after calling this method.
service - A service object previously provided by this
ComponentServiceObjects object.IllegalStateException - If the associated service has been become
unbound.IllegalArgumentException - If the specified service object was not
provided by this ComponentServiceObjects object.getService()ServiceReference<S> getServiceReference()
ServiceReference for the service associated with this
ComponentServiceObjects object.ServiceReference for the service associated with this
ComponentServiceObjects object.Copyright © OSGi Alliance (2000, 2015). All Rights Reserved. Licensed under the OSGi Specification License, Version 2.0