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

## Class HostContainerSelector

- java.lang.Object
- - org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractContainerSelector
  - - org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractHostContainerSelector
    - - org.eclipse.ecf.osgi.services.remoteserviceadmin.HostContainerSelector

All Implemented Interfaces:
  `IHostContainerSelector`

    public class HostContainerSelector
    extends AbstractHostContainerSelector
    implements IHostContainerSelector

Default implementation of `IHostContainerSelector` service.

### Field Summary

### Fields inherited from class org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractHostContainerSelector

`defaultConfigTypes`

### Fields inherited from class org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractContainerSelector

`EMPTY_REMOTE_SERVICE_CONTAINER_ARRAY`

### Constructor Summary

Constructors
`HostContainerSelector​(String[] defaultConfigTypes, boolean autoCreateContainer)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `close()`
`IRemoteServiceContainer[]` `selectHostContainers​(ServiceReference serviceReference, Map<String,​Object> overridingProperties, String[] serviceExportedInterfaces, String[] serviceExportedConfigs, String[] serviceIntents)` Select host containers to use to export a remote service.

### Methods inherited from class org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractHostContainerSelector

`connectHostContainer, createAndConfigureHostContainers, createMatchingContainer, createRSContainer, createRSContainer, getContainerTypeDescriptionsForDefaultConfigTypes, getDefaultConfigTypes, getExcludedDescriptions, getRequireServerDescription, matchDefaultConfigTypes, matchExistingHostContainer, matchHostContainerID, matchHostContainerToConnectTarget, matchHostSupportedConfigTypes, matchHostSupportedIntents, matchHostSupportedIntents, matchNotExcluded, matchRequireServer, selectExistingHostContainers, setExcludedDescriptions, setRequireServer`

### Methods inherited from class org.eclipse.ecf.osgi.services.remoteserviceadmin.AbstractContainerSelector

`connectContainer, createConnectContext, createContainer, createContainer, createTargetID, disconnectContainer, getContainerFactory, getContainerFactoryArguments, getContainerFactoryArguments, getContainerManager, getContainers, getContainerTypeDescription, getContainerTypeDescriptions, getRemoteServiceContainers, getSupportedConfigTypes, getSupportedIntents, hasRemoteServiceContainerAdapter, includeContainerWithConnectNamespace, logError, logError, logException, logWarning, matchConnectNamespace, matchContainerID, trace, traceException`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### HostContainerSelector

    public HostContainerSelector​(String[] defaultConfigTypes,
                                 boolean autoCreateContainer)

### Method Detail

#### selectHostContainers

    public IRemoteServiceContainer[] selectHostContainers​(ServiceReference serviceReference,
                                                          Map<String,​Object> overridingProperties,
                                                          String[] serviceExportedInterfaces,
                                                          String[] serviceExportedConfigs,
                                                          String[] serviceIntents)
                                                   throws SelectContainerException

Description copied from interface: `IHostContainerSelector`
Select host containers to use to export a remote service.

Specified by:
  `selectHostContainers` in interface `IHostContainerSelector`
Parameters:
  `serviceReference` - the service reference given by the `RemoteServiceAdmin.exportService(ServiceReference, java.util.Map)`
  `overridingProperties` - the map portion given by the `RemoteServiceAdmin.exportService(ServiceReference, java.util.Map)`
  `serviceExportedInterfaces` - the exportedInterfaces (typically associated with `RemoteConstants.SERVICE_EXPORTED_INTERFACES` ). Will not be `null`.
  `serviceExportedConfigs` - the exportedConfigs (typically associated with `RemoteConstants.SERVICE_EXPORTED_CONFIGS` ). May be `null`.
  `serviceIntents` - the service intents (typically associated with `RemoteConstants.SERVICE_EXPORTED_INTENTS` and `RemoteConstants.SERVICE_EXPORTED_INTENTS_EXTRA` ). May be `null`.
Returns:
  IRemoteServiceContainer[] of remote service containers that should be used to export the given remote service (typically via `IRemoteServiceContainerAdapter.registerRemoteService(String[], Object, java.util.Dictionary)` ). Will not be `null`, but may be empty array.
Throws:
  `SelectContainerException` - thrown if the host container selection or creation/configuration fails.
Since:
  2.0
See Also:
  `IHostContainerSelector.selectHostContainers(org.osgi.framework.ServiceReference, java.util.Map, java.lang.String[], java.lang.String[], java.lang.String[])`

#### close

    public void close()