Package org.eclipse.ecf.osgi.services.remoteserviceadmin

# Interface IConsumerContainerSelector

All Known Implementing Classes:
  `ConsumerContainerSelector`

public interface IConsumerContainerSelector
Consumer container selector service contract. When an ECF RemoteServiceAdmin instance is asked to import a service (i.e. via `RemoteServiceAdmin.importService(org.osgi.service.remoteserviceadmin.EndpointDescription)` ), the RSA first gets an instance of this service via the service registry, and then uses it to select an ECF consumer container instance by calling `selectConsumerContainer(EndpointDescription)`.

The `IRemoteServiceContainer` returned is then used on the consumer side, to actually import the remote service.

If no other instances of this service have been registered, a default instance of `ConsumerContainerSelector` will be used. Note that this default instance is registered with the lowest possible priority, so that if other `IConsumerContainerSelector` instances are registered, they will be preferred/used over the default.

## Method Summary

Modifier and Type
Method
Description
`IRemoteServiceContainer`
`selectConsumerContainer(EndpointDescription endpointDescription)`
Select (or create and initialize) a consumer remote service container.

## Method Details

### selectConsumerContainer

IRemoteServiceContainer selectConsumerContainer(EndpointDescription endpointDescription) throws SelectContainerException
Select (or create and initialize) a consumer remote service container.

Parameters:
  `endpointDescription` - the endpoint description that has been discovered.
Returns:
  IRemoteServiceContainer to be used for importing the remote service. May be `null` if not container is available for use as a consumer for the given endpointDescription.
Throws:
  `SelectContainerException` - thrown if the host container selection or creation/configuration fails.