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

# Class AbstractHostContainerSelector

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

Direct Known Subclasses:
  `HostContainerSelector`

public abstract class AbstractHostContainerSelector extends AbstractContainerSelector
Abstract superclass for host container selectors...i.e. implementers of `IHostContainerSelector`.

Since:
  4.6

## Field Summary

Fields
Modifier and Type
Field
Description
`protected String[]`
`defaultConfigTypes`

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

`EMPTY_REMOTE_SERVICE_CONTAINER_ARRAY`

## Constructor Summary

Constructors
Constructor
Description
`AbstractHostContainerSelector(String[] defaultConfigTypes)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`connectHostContainer(ServiceReference serviceReference, Map<String,Object> properties, IContainer container, Object target)`
`protected Collection`
`createAndConfigureHostContainers(ServiceReference serviceReference, Map<String,Object> properties, String[] serviceExportedInterfaces, String[] requiredConfigs, String[] serviceIntents)`
`protected IRemoteServiceContainer`
`createMatchingContainer(ContainerTypeDescription containerTypeDescription, ServiceReference serviceReference, Map<String,Object> properties, String[] serviceExportedInterfaces, String[] requiredConfigs, String[] serviceIntents)`
`protected IRemoteServiceContainer`
`createRSContainer(ServiceReference serviceReference, Map<String,Object> properties, ContainerTypeDescription containerTypeDescription)`
`protected IRemoteServiceContainer`
`createRSContainer(ServiceReference serviceReference, Map<String,Object> properties, ContainerTypeDescription containerTypeDescription, String[] intents)`
`protected ContainerTypeDescription[]`
`getContainerTypeDescriptionsForDefaultConfigTypes(ContainerTypeDescription[] descriptions)`
`protected String[]`
`getDefaultConfigTypes()`
`protected List<String>`
`getExcludedDescriptions()`
`protected boolean`
`getRequireServerDescription()`
`protected boolean`
`matchDefaultConfigTypes(String[] defaultConfigTypes, String[] supportedConfigTypes)`
`protected boolean`
`matchExistingHostContainer(ServiceReference serviceReference, Map<String,Object> properties, IContainer container, IRemoteServiceContainerAdapter adapter, ContainerTypeDescription description, String[] requiredConfigTypes, String[] requiredServiceIntents)`
`protected boolean`
`matchHostContainerID(ServiceReference serviceReference, Map<String,Object> properties, IContainer container)`
`protected boolean`
`matchHostContainerToConnectTarget(ServiceReference serviceReference, Map<String,Object> properties, IContainer container)`
`protected boolean`
`matchHostSupportedConfigTypes(String[] requiredConfigTypes, ContainerTypeDescription containerTypeDescription)`
`protected boolean`
`matchHostSupportedIntents(String[] serviceRequiredIntents, ContainerTypeDescription containerTypeDescription)`
`protected boolean`
`matchHostSupportedIntents(String[] serviceRequiredIntents, ContainerTypeDescription containerTypeDescription, IContainer container)`
`protected boolean`
`matchNotExcluded(ContainerTypeDescription description)`
`protected boolean`
`matchRequireServer(ContainerTypeDescription description)`
`protected Collection`
`selectExistingHostContainers(ServiceReference serviceReference, Map<String,Object> overridingProperties, String[] serviceExportedInterfaces, String[] serviceExportedConfigs, String[] serviceIntents)`
`protected void`
`setExcludedDescriptions(List<String> excludedDescriptions)`
`protected void`
`setRequireServer(boolean requireServerDescriptionForExport)`

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

## Field Details

### defaultConfigTypes

protected String[] defaultConfigTypes

## Constructor Details

### AbstractHostContainerSelector

public AbstractHostContainerSelector(String[] defaultConfigTypes)

## Method Details

### setExcludedDescriptions

protected void setExcludedDescriptions(List<String> excludedDescriptions)

Since:
  4.6

### getExcludedDescriptions

protected List<String> getExcludedDescriptions()

Since:
  4.6

### setRequireServer

protected void setRequireServer(boolean requireServerDescriptionForExport)

Since:
  4.6

### getRequireServerDescription

protected boolean getRequireServerDescription()

Since:
  4.6

### selectExistingHostContainers

protected Collection selectExistingHostContainers(ServiceReference serviceReference, Map<String,Object> overridingProperties, String[] serviceExportedInterfaces, String[] serviceExportedConfigs, String[] serviceIntents)

Parameters:
  `serviceReference` - service reference
  `overridingProperties` - overriding properties
  `serviceExportedInterfaces` - service exported interfaces to select for
  `serviceExportedConfigs` - service exported configs to select for
  `serviceIntents` - service exported intents to select for
Returns:
  Collection of existing host containers
Since:
  2.0

### matchHostContainerToConnectTarget

protected boolean matchHostContainerToConnectTarget(ServiceReference serviceReference, Map<String,Object> properties, IContainer container)

Parameters:
  `serviceReference` - serviceReference
  `properties` - properties
  `container` - container to match
Returns:
  boolean true if match false otherwise
Since:
  2.0

### matchExistingHostContainer

protected boolean matchExistingHostContainer(ServiceReference serviceReference, Map<String,Object> properties, IContainer container, IRemoteServiceContainerAdapter adapter, ContainerTypeDescription description, String[] requiredConfigTypes, String[] requiredServiceIntents)

Parameters:
  `serviceReference` - service reference
  `properties` - properties
  `container` - container
  `adapter` - remote service container adapter
  `description` - container type description
  `requiredConfigTypes` - required config types
  `requiredServiceIntents` - required service intents
Returns:
  boolean true if match, false otherwise
Since:
  2.0

### matchHostContainerID

protected boolean matchHostContainerID(ServiceReference serviceReference, Map<String,Object> properties, IContainer container)

Parameters:
  `serviceReference` - serviceReference
  `properties` - properties
  `container` - container
Returns:
  boolean true if match, false otherwise
Since:
  2.0

### matchHostSupportedConfigTypes

protected boolean matchHostSupportedConfigTypes(String[] requiredConfigTypes, ContainerTypeDescription containerTypeDescription)

Parameters:
  `requiredConfigTypes` - request config types
  `containerTypeDescription` - container type description
Returns:
  boolean true if match, false otherwise

### createAndConfigureHostContainers

protected Collection createAndConfigureHostContainers(ServiceReference serviceReference, Map<String,Object> properties, String[] serviceExportedInterfaces, String[] requiredConfigs, String[] serviceIntents) throws SelectContainerException

Parameters:
  `serviceReference` - service reference
  `properties` - overriding properties
  `serviceExportedInterfaces` - service exported interfaces to select for
  `requiredConfigs` - service exported configs to select for
  `requiredIntents` - intents to select for
Returns:
  Collection of host containers
Throws:
  `SelectContainerException` - if container cannot be created or configured
Since:
  2.0

### getContainerTypeDescriptionsForDefaultConfigTypes

protected ContainerTypeDescription[] getContainerTypeDescriptionsForDefaultConfigTypes(ContainerTypeDescription[] descriptions)

### matchDefaultConfigTypes

protected boolean matchDefaultConfigTypes(String[] defaultConfigTypes, String[] supportedConfigTypes)

### getDefaultConfigTypes

protected String[] getDefaultConfigTypes()

### matchRequireServer

protected boolean matchRequireServer(ContainerTypeDescription description)

Since:
  4.6

### matchNotExcluded

protected boolean matchNotExcluded(ContainerTypeDescription description)

Since:
  4.6

### createMatchingContainer

protected IRemoteServiceContainer createMatchingContainer(ContainerTypeDescription containerTypeDescription, ServiceReference serviceReference, Map<String,Object> properties, String[] serviceExportedInterfaces, String[] requiredConfigs, String[] serviceIntents) throws SelectContainerException

Parameters:
  `containerTypeDescription` - containerTypeDescription
  `serviceReference` - reference
  `properties` - properties
  `serviceExportedInterfaces` - exported interfaces
  `requiredConfigs` - configs
  `requiredIntents` - intents
Returns:
  IRemoteServiceContainer matching container created
Throws:
  `SelectContainerException` - container cannot be created or selected
Since:
  2.0

### createRSContainer

protected IRemoteServiceContainer createRSContainer(ServiceReference serviceReference, Map<String,Object> properties, ContainerTypeDescription containerTypeDescription) throws SelectContainerException

Parameters:
  `serviceReference` - serviceReference
  `properties` - properties
  `containerTypeDescription` - container type description
Returns:
  IRemoteServiceContainer created remote service container
Throws:
  `SelectContainerException` - if could not be created
Since:
  2.0

### createRSContainer

protected IRemoteServiceContainer createRSContainer(ServiceReference serviceReference, Map<String,Object> properties, ContainerTypeDescription containerTypeDescription, String[] intents) throws SelectContainerException

Parameters:
  `serviceReference` - serviceReference
  `properties` - properties
  `containerTypeDescription` - container type description
Returns:
  IRemoteServiceContainer created remote service container
Throws:
  `SelectContainerException` - if could not be created
Since:
  4.6

### connectHostContainer

protected void connectHostContainer(ServiceReference serviceReference, Map<String,Object> properties, IContainer container, Object target) throws ContainerConnectException, IDCreateException

Parameters:
  `serviceReference` - service reference
  `properties` - properties
  `container` - container
  `target` - target
Throws:
  `ContainerConnectException` - if container cannot be connected
  `IDCreateException` - thrown if ID cannot be created
Since:
  2.0

### matchHostSupportedIntents

protected boolean matchHostSupportedIntents(String[] serviceRequiredIntents, ContainerTypeDescription containerTypeDescription)

### matchHostSupportedIntents

protected boolean matchHostSupportedIntents(String[] serviceRequiredIntents, ContainerTypeDescription containerTypeDescription, IContainer container)

Since:
  4.6