Package org.apache.felix.framework

# Class ServiceRegistry

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

public class ServiceRegistry extends Object

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static interface`
`ServiceRegistry.ServiceRegistryCallbacks`

## Constructor Summary

Constructors
Constructor
Description
`ServiceRegistry(Logger logger, ServiceRegistry.ServiceRegistryCallbacks callbacks)`

## Method Summary

Modifier and Type
Method
Description
`<S> Set<ServiceReference<S>>`
`getHooks(Class<S> hookClass)`
`Logger`
`getLogger()`
`ServiceReference<?>[]`
`getRegisteredServices(Bundle bundle)`
`<S> S`
`getService(Bundle bundle, ServiceReference<S> ref, boolean isServiceObjects)`
`Collection`
`getServiceReferences(String className, SimpleFilter filter)`
`ServiceReference<?>[]`
`getServicesInUse(Bundle bundle)`
`Bundle[]`
`getUsingBundles(ServiceReference<?> ref)`
`ServiceRegistration<?>`
`registerService(BundleContext context, String[] classNames, Object svcObj, Dictionary dict)`
`boolean`
`ungetService(Bundle bundle, ServiceReference<?> ref, Object svcObj)`
`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 Details

### ServiceRegistry

public ServiceRegistry(Logger logger, ServiceRegistry.ServiceRegistryCallbacks callbacks)

## Method Details

### getRegisteredServices

public ServiceReference<?>[] getRegisteredServices(Bundle bundle)

### registerService

public ServiceRegistration<?> registerService(BundleContext context, 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 Collection getServiceReferences(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, 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()

### getHooks

public <S> Set<ServiceReference<S>> getHooks(Class<S> hookClass)