Package org.apache.felix.framework
Class ServiceRegistry
- java.lang.Object
-
- org.apache.felix.framework.ServiceRegistry
-
public class ServiceRegistry extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceServiceRegistry.ServiceRegistryCallbacks
-
Constructor Summary
Constructors Constructor Description ServiceRegistry(Logger logger, ServiceRegistry.ServiceRegistryCallbacks callbacks)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HookRegistrygetHookRegistry()LoggergetLogger()ServiceReference<?>[]getRegisteredServices(Bundle bundle)Get all service references for a bundle<S> SgetService(Bundle bundle, ServiceReference<S> ref, boolean isServiceObjects)java.util.Collection<Capability>getServiceReferences(java.lang.String className, SimpleFilter filter)ServiceReference<?>[]getServicesInUse(Bundle bundle)Bundle[]getUsingBundles(ServiceReference<?> ref)ServiceRegistration<?>registerService(Bundle bundle, java.lang.String[] classNames, java.lang.Object svcObj, java.util.Dictionary<?,?> dict)Register a new service Caller must fire service event as this method is not doing it!booleanungetService(Bundle bundle, ServiceReference<?> ref, java.lang.Object svcObj)voidungetServices(Bundle bundle)This is a utility method to release all services being used by the specified bundle.voidunregisterService(Bundle bundle, ServiceRegistration<?> reg)Unregister a servicevoidunregisterServices(Bundle bundle)This method retrieves all services registrations for the specified bundle and invokes ServiceRegistration.unregister() on each one.
-
-
-
Constructor Detail
-
ServiceRegistry
public ServiceRegistry(Logger logger, ServiceRegistry.ServiceRegistryCallbacks callbacks)
-
-
Method Detail
-
getRegisteredServices
public ServiceReference<?>[] getRegisteredServices(Bundle bundle)
Get all service references for a bundle- Parameters:
bundle-- Returns:
- List with all valid service references or
null.
-
registerService
public ServiceRegistration<?> registerService(Bundle bundle, java.lang.String[] classNames, java.lang.Object svcObj, java.util.Dictionary<?,?> dict)
Register a new service Caller must fire service event as this method is not doing it!- Parameters:
bundle- The bundle registering the serviceclassNames- The service class namessvcObj- The service objectdict- Optional service properties- Returns:
- Service registration
-
unregisterService
public void unregisterService(Bundle bundle, ServiceRegistration<?> reg)
Unregister a service- Parameters:
bundle- The bundle unregistering the servicereg- The service registration
-
unregisterServices
public void unregisterServices(Bundle bundle)
This method retrieves all services registrations for the specified bundle and invokes ServiceRegistration.unregister() on each one. This method is only called be the framework to clean up after a stopped bundle.- Parameters:
bundle- the bundle whose services should be unregistered.
-
getServiceReferences
public java.util.Collection<Capability> getServiceReferences(java.lang.String className, SimpleFilter filter)
-
getServicesInUse
public ServiceReference<?>[] getServicesInUse(Bundle bundle)
-
getService
public <S> S getService(Bundle bundle, ServiceReference<S> ref, boolean isServiceObjects)
-
ungetService
public boolean ungetService(Bundle bundle, ServiceReference<?> ref, java.lang.Object svcObj)
-
ungetServices
public void ungetServices(Bundle bundle)
This is a utility method to release all services being used by the specified bundle.- Parameters:
bundle- the bundle whose services are to be released.
-
getUsingBundles
public Bundle[] getUsingBundles(ServiceReference<?> ref)
-
getLogger
public Logger getLogger()
-
getHookRegistry
public HookRegistry getHookRegistry()
-
-