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

All Methods Instance Methods Abstract Methods
`IRemoteServiceContainer` `selectConsumerContainer(EndpointDescription endpointDescription)` Select (or create and initialize) a consumer remote service container.

### Method Detail

#### 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.