## org.apache.geronimo.osgi.registry.api
Interface ProviderRegistry

All Known Implementing Classes:
  ProviderRegistryImpl

    public interface ProviderRegistry

The implementation of the factory registry used to store the bundle registrations.

Method Summary
`java.lang.Object` `getService(java.lang.String providerId)` Locate and instantiate an instance of a service provider defined in the META-INF/services directory of tracked bundles.
`java.lang.Class<?>` `getServiceClass(java.lang.String providerId)` Locate and return the class for a service provider defined in the META-INF/services directory of tracked bundles.
`java.util.List<java.lang.Class<?>>` `getServiceClasses(java.lang.String providerId)` Locate all services that match a given provider id and return the implementation classes
`java.util.List<java.lang.Object>` `getServices(java.lang.String providerId)` Locate all services that match a given provider id and create instances.
`java.lang.Class<?>` `locate(java.lang.String factoryId)` Locate a class by its factory id indicator.
`java.util.List<java.lang.Class<?>>` `locateAll(java.lang.String factoryId)` Locate all class files that match a given factory id.

Method Detail

### locate

    java.lang.Class<?> locate(java.lang.String factoryId)

  Locate a class by its factory id indicator. .

  Parameters:
    `factoryId` - The factory id (generally, a fully qualified class name).
  Returns:
    The Class corresponding to this factory id. Returns null if this is not registered or the indicated class can't be loaded.

### locateAll

    java.util.List<java.lang.Class<?>> locateAll(java.lang.String factoryId)

  Locate all class files that match a given factory id.

  Parameters:
    `factoryId` - The target factory identifier.
  Returns:
    A List containing the class objects corresponding to the factory identifier. Returns an empty list if no matching classes can be located.

### getService

    java.lang.Object getService(java.lang.String providerId)
                                throws java.lang.Exception

  Locate and instantiate an instance of a service provider defined in the META-INF/services directory of tracked bundles.

  Parameters:
    `providerId` - The name of the target interface class.
  Returns:
    The service instance. Returns null if no service defintions can be located.
  Throws:
    `java.lang.Exception` - Any classloading or other exceptions thrown during the process of creating this service instance.

### getServices

    java.util.List<java.lang.Object> getServices(java.lang.String providerId)

  Locate all services that match a given provider id and create instances.

  Parameters:
    `providerId` - The target provider identifier.
  Returns:
    A List containing the instances corresponding to the provider identifier. Returns an empty list if no matching classes can be located or created

### getServiceClass

    java.lang.Class<?> getServiceClass(java.lang.String providerId)
                                       throws java.lang.ClassNotFoundException

  Locate and return the class for a service provider defined in the META-INF/services directory of tracked bundles.

  Parameters:
    `providerId` - The name of the target interface class.
  Returns:
    The provider class. Returns null if no service defintions can be located.
  Throws:
    `java.lang.Exception` - Any classloading or other exceptions thrown during the process of loading this service provider class.
    `java.lang.ClassNotFoundException`

### getServiceClasses

    java.util.List<java.lang.Class<?>> getServiceClasses(java.lang.String providerId)

  Locate all services that match a given provider id and return the implementation classes

  Parameters:
    `providerId` - The target provider identifier.
  Returns:
    A List containing the classes corresponding to the provider identifier. Returns an empty list if no matching classes can be located.