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