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