org.apache.felix.framework
Class ServiceRegistry

java.lang.Object
  extended by org.apache.felix.framework.ServiceRegistry

public class ServiceRegistry
extends Object


Nested Class Summary
static interface ServiceRegistry.ServiceRegistryCallbacks
           
 
Constructor Summary
ServiceRegistry(Logger logger, ServiceRegistry.ServiceRegistryCallbacks callbacks)
           
 
Method Summary
 List getEventHooks()
           
 Logger getLogger()
           
 ServiceReference[] getRegisteredServices(Bundle bundle)
           
 Object getService(Bundle bundle, ServiceReference ref)
           
 List getServiceReferences(String className, SimpleFilter filter)
           
 ServiceReference[] getServicesInUse(Bundle bundle)
           
 Bundle[] getUsingBundles(ServiceReference ref)
           
 void invokeHook(ServiceReference ref, Framework framework, InvokeHookCallback callback)
          Invokes a Service Registry Hook
 ServiceRegistration registerService(Bundle bundle, String[] classNames, Object svcObj, Dictionary dict)
           
 boolean ungetService(Bundle bundle, ServiceReference ref)
           
 void ungetServices(Bundle bundle)
          This is a utility method to release all services being used by the specified bundle.
 void unregisterService(Bundle bundle, ServiceRegistration reg)
           
 void unregisterServices(Bundle bundle)
          This method retrieves all services registrations for the specified bundle and invokes ServiceRegistration.unregister() on each one.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServiceRegistry

public ServiceRegistry(Logger logger,
                       ServiceRegistry.ServiceRegistryCallbacks callbacks)
Method Detail

getRegisteredServices

public ServiceReference[] getRegisteredServices(Bundle bundle)

registerService

public ServiceRegistration registerService(Bundle bundle,
                                           String[] classNames,
                                           Object svcObj,
                                           Dictionary dict)

unregisterService

public void unregisterService(Bundle bundle,
                              ServiceRegistration reg)

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 List getServiceReferences(String className,
                                 SimpleFilter filter)

getServicesInUse

public ServiceReference[] getServicesInUse(Bundle bundle)

getService

public Object getService(Bundle bundle,
                         ServiceReference ref)

ungetService

public boolean ungetService(Bundle bundle,
                            ServiceReference ref)

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()

getEventHooks

public List getEventHooks()

invokeHook

public void invokeHook(ServiceReference ref,
                       Framework framework,
                       InvokeHookCallback callback)
Invokes a Service Registry Hook

Parameters:
ref - The ServiceReference associated with the hook to be invoked, the hook service object will be obtained through this object.
framework - The framework that is invoking the hook, typically the Felix object.
callback - This is a callback object that is invoked with the actual hook object to be used, either the plain hook, or one obtained from the ServiceFactory.


Copyright © 2013 The Apache Software Foundation. All Rights Reserved.