Package org.osgi.service.cdi.reference
Interface BeanServiceObjects<S>
- Type Parameters:
- S- Type of Service
@ProviderType
public interface BeanServiceObjects<S>
Allows multiple service objects for a service to be obtained.
 
 A component instance can receive a BeanServiceObjects object via a
 reference that is typed BeanServiceObjects.
 
 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 BeanServiceObjects
 object are automatically released by Service Component Runtime when the
 service becomes unbound.
- See Also:
- "ThreadSafe"
- 
Method SummaryModifier and TypeMethodDescriptionReturns a service object for theassociatedservice.Returns theServiceReferencefor the service associated with thisBeanServiceObjectsobject.voidungetService(S service) Releases a service object for theassociatedservice.
- 
Method Details- 
getServiceS getService()Returns a service object for theassociatedservice.This method will always return nullwhen the associated service has been become unbound.- Returns:
- A service object for the associated service or nullif the service is unbound, the customized service object returned by aServiceFactorydoes not implement the classes under which it was registered or theServiceFactorythrew an exception.
- Throws:
- IllegalStateException- If the component instance that received this- BeanServiceObjectsobject has been deactivated.
- See Also:
 
- 
ungetServiceReleases a service object for theassociatedservice.The specified service object must no longer be used and all references to it should be destroyed after calling this method. - Parameters:
- service- A service object previously provided by this- ReferenceServiceObjectsobject.
- Throws:
- IllegalStateException- If the component instance that received this- ReferenceServiceObjectsobject has been deactivated.
- IllegalArgumentException- If the specified service object was not provided by this- BeanServiceObjectsobject.
- See Also:
 
- 
getServiceReferenceServiceReference<S> getServiceReference()Returns theServiceReferencefor the service associated with thisBeanServiceObjectsobject.- Returns:
- The ServiceReferencefor the service associated with thisBeanServiceObjectsobject.
 
 
-