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
Constructor
Description
`HostContainerSelector(String[] defaultConfigTypes, boolean autoCreateContainer)`

## Method Summary

Modifier and Type
Method
Description
`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 Details

### HostContainerSelector

public HostContainerSelector(String[] defaultConfigTypes, boolean autoCreateContainer)

## Method Details

### 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()