org.eclipse.ecf.remoteservice.servlet
Class ServletServerContainerInstantiator

java.lang.Object
  extended by org.eclipse.ecf.core.provider.BaseContainerInstantiator
      extended by org.eclipse.ecf.remoteservice.servlet.ServletServerContainerInstantiator
All Implemented Interfaces:
IContainerInstantiator, IRemoteServiceContainerInstantiator

public abstract class ServletServerContainerInstantiator
extends BaseContainerInstantiator
implements IRemoteServiceContainerInstantiator


Field Summary
protected static java.lang.String[] intents
           
 
Fields inherited from class org.eclipse.ecf.core.provider.BaseContainerInstantiator
EMPTY_CLASS_ARRAY, EMPTY_STRING_ARRAY, NO_ADAPTERS_ARRAY
 
Constructor Summary
ServletServerContainerInstantiator()
           
 
Method Summary
 java.lang.String[] getImportedConfigs(ContainerTypeDescription description, java.lang.String[] exporterSupportedConfigs)
          Get the imported config types for a given ContainerTypeDescription for the given exporter supported config types.
 java.util.Dictionary getPropertiesForImportedConfigs(ContainerTypeDescription description, java.lang.String[] importedConfigs, java.util.Dictionary exportedProperties)
          Get the properties associated with the given description, with the given importedConfigTypes, via the given exportedProperties.
 java.lang.String[] getSupportedIntents(ContainerTypeDescription description)
          Get supported intents for the given ContainerTypeDescription.
 
Methods inherited from class org.eclipse.ecf.core.provider.BaseContainerInstantiator
createInstance, getAdaptersForClass, getIntegerFromArg, getInterfacesAndAdaptersForClass, getInterfacesForClass, getInterfacesForClass, getMap, getMapParameterString, getMapParameterString, getParameterValue, getParameterValue, getParameterValue, getParameterValue, getParameterValue, getStringFromArg, getSupportedAdapterTypes, getSupportedParameterTypes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.ecf.core.provider.IRemoteServiceContainerInstantiator
getSupportedConfigs
 

Field Detail

intents

protected static final java.lang.String[] intents
Constructor Detail

ServletServerContainerInstantiator

public ServletServerContainerInstantiator()
Method Detail

getImportedConfigs

public java.lang.String[] getImportedConfigs(ContainerTypeDescription description,
                                             java.lang.String[] exporterSupportedConfigs)
Description copied from interface: IRemoteServiceContainerInstantiator

Get the imported config types for a given ContainerTypeDescription for the given exporter supported config types. This method will be called to determine what the local container imported configs are for the given description and exporterSupportedConfigTypes. The local provider can decide which (if any) imported config types should be returned and return them.

As an example, consider the config types for the ECF generic provider. A generic server has a config type of 'ecf.generic.server', and the client has 'ecf.generic.server'. If the generic server exports a given service, the exportersSupportedConfigTypes will be '[ecf.generic.server]'. When this method is called with the ecf.generic.client description (i.e. the container type description named 'ecf.generic.client'), it should respond with a non-null, non-empty array...e.g.: [ecf.generic.client]. This indicates that the ecf.generic.client can serve as an importer for the given exporter config type. All, other descriptions should return null, to indicate that they cannot import a remote service exported by the given exporterSupportedConfigTypes.

Specified by:
getImportedConfigs in interface IRemoteServiceContainerInstantiator
Parameters:
description - the container type description under consideration.
exporterSupportedConfigs - the exporter supported config types under consideration.
Returns:
String[] indicating the importer's supported config types. Should be null, unless one or more of the exporterSupportedConfigTypes is recognized for the given description.

getSupportedIntents

public java.lang.String[] getSupportedIntents(ContainerTypeDescription description)
Description copied from interface: IRemoteServiceContainerInstantiator
Get supported intents for the given ContainerTypeDescription. This method will be called to determine what the OSGi remote service supported intents are for the given description during the search for the service exporter provider/containers upon remote service registration.

Specified by:
getSupportedIntents in interface IContainerInstantiator
Specified by:
getSupportedIntents in interface IRemoteServiceContainerInstantiator
Overrides:
getSupportedIntents in class BaseContainerInstantiator
Parameters:
description - the ContainerTypeDescription to return the supported intents for. Will not be null.
Returns:
String[] the supported intents. null may be returned if the given description does not support any intents.

getPropertiesForImportedConfigs

public java.util.Dictionary getPropertiesForImportedConfigs(ContainerTypeDescription description,
                                                            java.lang.String[] importedConfigs,
                                                            java.util.Dictionary exportedProperties)
Description copied from interface: IRemoteServiceContainerInstantiator
Get the properties associated with the given description, with the given importedConfigTypes, via the given exportedProperties.

Specified by:
getPropertiesForImportedConfigs in interface IRemoteServiceContainerInstantiator
Parameters:
description - the container type description under consideration.
importedConfigs - the imported config types for the given properties. Will not be null, and should be the same values as returned from IRemoteServiceContainerInstantiator.getImportedConfigs(ContainerTypeDescription, String[]).
exportedProperties - the properties from the exported service. Will not be null.
Returns:
Dictionary that has all of the properties for the importedConfigTypes. May be null if no properties are associated with the given description, importedConfigTypes, exportedProperties.