Package org.eclipse.ecf.core
Class ContainerFactory
java.lang.Object
org.eclipse.ecf.core.ContainerFactory
- All Implemented Interfaces:
IContainerFactory,IContainerManager
Factory for creating
Here is an example use of the ContainerFactory to construct an instance of the 'standalone' container (has no connection to other containers):
IContainer instances. This class provides ECF
clients an entry point to constructing IContainer instances. Here is an example use of the ContainerFactory to construct an instance of the 'standalone' container (has no connection to other containers):
IContainer container =
ContainerFactory.getDefault().createContainer("ecf.generic.client");
...further use of container here...
For more details on the creation
and lifecycle of IContainer instances created via this factory see
IContainer.- Since:
- 3.1
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddContainer(IContainer container, ContainerTypeDescription typeDescription) Add given container to manager.addDescription(ContainerTypeDescription containerTypeDescription) Add a ContainerTypeDescription to the set of known ContainerDescriptions.protected ContainerTypeDescriptionaddDescription0(ContainerTypeDescription containerTypeDescription) booleanaddListener(IContainerManagerListener listener) Add listener to thisIContainerManager.booleancontainsDescription(ContainerTypeDescription containerTypeDescription) Check to see if a given named description is already contained by this factoryprotected booleancontainsDescription0(ContainerTypeDescription containerTypeDescription) Make a base IContainer instance.createContainer(String containerTypeDescriptionName) Create a new container.createContainer(String containerTypeDescriptionName, Object[] parameters) Create a new container.createContainer(String containerTypeDescriptionName, String containerId) Create a new container.createContainer(String containerTypeDescriptionName, String containerId, Object[] parameters) Create a new container.createContainer(String containerTypeDescriptionName, String containerId, Map parameters) Create a new container.createContainer(String containerTypeDescriptionName, Map parameters) Create a new container.createContainer(String containerTypeDescriptionName, ID containerID) Create a new container.createContainer(String containerTypeDescriptionName, ID containerID, Object[] parameters) Create a new container.createContainer(String containerTypeDescriptionName, ID containerID, Map parameters) Create a new container.createContainer(ContainerTypeDescription containerTypeDescription) Create a new container.createContainer(ContainerTypeDescription containerTypeDescription, Object[] parameters) Create a new container.createContainer(ContainerTypeDescription containerTypeDescription, String containerId) Create a new container.createContainer(ContainerTypeDescription containerTypeDescription, String containerId, Object[] parameters) Create a new container.createContainer(ContainerTypeDescription containerTypeDescription, String containerId, Map parameters) Create a new container.createContainer(ContainerTypeDescription containerTypeDescription, Map parameters) Create a new container.createContainer(ContainerTypeDescription containerTypeDescription, ID containerID) Create a new container.createContainer(ContainerTypeDescription containerTypeDescription, ID containerID, Object[] parameters) Create a new container.createContainer(ContainerTypeDescription containerTypeDescription, ID containerID, Map parameters) Create a new container.createContainer(ID containerID) Create a new container.Get all containers known to this container manager.getContainer(ID containerID) Get container for given ID.Get container factory associated with this container manager.getContainerTypeDescription(ID containerID) Get the container type description used to create the container with the given ID.static IContainerFactoryprotected ContainerTypeDescriptiongetDescription0(String containerTypeDescriptionName) protected ContainerTypeDescriptiongetDescription0(ContainerTypeDescription containerTypeDescription) getDescriptionByName(String containerTypeDescriptionName) Get the known ContainerTypeDescription given it's name.Get a collection of the ContainerDescriptions currently known to this factory.protected ListgetDescriptionsForContainerAdapter(Class containerAdapter) Get container type descriptions that support the given containerAdapterbooleanhasContainer(ID containerID) Return true if this container manager has the given container under management, false otherwise.voidRemove all containers from this managerremoveContainer(IContainer container) Remove given container from manager.removeContainer(ID containerID) Remove given container from manager.removeDescription(ContainerTypeDescription containerTypeDescription) Remove given description from set known to this factory.protected ContainerTypeDescriptionremoveDescription0(ContainerTypeDescription containerTypeDescription) booleanremoveListener(IContainerManagerListener listener) Remove listener from thisIContainerManager.protected voidthrowContainerCreateException(String message, Throwable cause, String method)
-
Field Details
-
BASE_CONTAINER_NAME
- See Also:
-
-
Constructor Details
-
ContainerFactory
protected ContainerFactory()
-
-
Method Details
-
getDefault
-
addDescription
Description copied from interface:IContainerFactoryAdd a ContainerTypeDescription to the set of known ContainerDescriptions.- Specified by:
addDescriptionin interfaceIContainerFactory- Parameters:
containerTypeDescription- the ContainerTypeDescription to add to this factory. Must not benull.- Returns:
- ContainerTypeDescription the old description of the same name, null if none found
-
getDescriptions
Description copied from interface:IContainerFactoryGet a collection of the ContainerDescriptions currently known to this factory. This allows clients to query the factory to determine what if any other ContainerDescriptions are currently registered with the factory, and if so, what they are.- Specified by:
getDescriptionsin interfaceIContainerFactory- Returns:
- List of ContainerTypeDescription instances
-
getDescriptions0
-
addDescription0
protected ContainerTypeDescription addDescription0(ContainerTypeDescription containerTypeDescription) -
containsDescription
Description copied from interface:IContainerFactoryCheck to see if a given named description is already contained by this factory- Specified by:
containsDescriptionin interfaceIContainerFactory- Parameters:
containerTypeDescription- the ContainerTypeDescription to look for- Returns:
- true if description is already known to factory, false otherwise
-
containsDescription0
-
getDescription0
protected ContainerTypeDescription getDescription0(ContainerTypeDescription containerTypeDescription) -
getDescription0
-
getDescriptionByName
Description copied from interface:IContainerFactoryGet the known ContainerTypeDescription given it's name.- Specified by:
getDescriptionByNamein interfaceIContainerFactory- Parameters:
containerTypeDescriptionName- the name to use as key to find ContainerTypeDescription. Must not benull.- Returns:
- ContainerTypeDescription found. Null if not found.
-
removeDescription
public ContainerTypeDescription removeDescription(ContainerTypeDescription containerTypeDescription) Description copied from interface:IContainerFactoryRemove given description from set known to this factory.- Specified by:
removeDescriptionin interfaceIContainerFactory- Parameters:
containerTypeDescription- the ContainerTypeDescription to remove- Returns:
- the removed ContainerTypeDescription, null if nothing removed
-
removeDescription0
protected ContainerTypeDescription removeDescription0(ContainerTypeDescription containerTypeDescription) -
getDescriptionsForContainerAdapter
Description copied from interface:IContainerFactoryGet container type descriptions that support the given containerAdapter- Specified by:
getDescriptionsForContainerAdapterin interfaceIContainerFactory- Parameters:
containerAdapter- the container adapter. Must not be null.- Returns:
- ContainerTypeDescription[] of descriptions that support the given container adapter. If no ContainerTypeDescriptions found that support the given adapter, an empty array will be returned.
-
throwContainerCreateException
protected void throwContainerCreateException(String message, Throwable cause, String method) throws ContainerCreateException - Throws:
ContainerCreateException
-
createContainer
Description copied from interface:IContainerFactoryMake a base IContainer instance.- Specified by:
createContainerin interfaceIContainerFactory- Returns:
- IContainer instance. A non-
nullinstance will be returned. - Throws:
ContainerCreateException- if some problem creating the instance.
-
createContainer
Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerID- the container's new ID. Must not benull.- Returns:
- IContainer instance. A non-
null. instance will be returned. - Throws:
ContainerCreateException- if some problem creating a base IContainer instance.
-
createContainer
public IContainer createContainer(ContainerTypeDescription containerTypeDescription) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescription- the ContainerTypeDescription to use. Must not benull.- Returns:
- a valid instance of IContainer. Will not be
null. - Throws:
ContainerCreateException- if some problem creating the instance.
-
createContainer
public IContainer createContainer(String containerTypeDescriptionName) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescriptionName- the ContainerTypeDescription name to lookup. Must not benull.- Returns:
- a valid instance of IContainer. Will not be
null. - Throws:
ContainerCreateException- if cannot create container of given name
-
createContainer
public IContainer createContainer(ContainerTypeDescription containerTypeDescription, Object[] parameters) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescription- the ContainerTypeDescription to use to create the instance. Must not benull.parameters- an Object [] of parameters passed to the createInstance method of the IContainerInstantiator. May benull.- Returns:
- a valid instance of IContainer. A non-
nullinstance will be returned. - Throws:
ContainerCreateException- if some problem creating the instance.
-
createContainer
public IContainer createContainer(String containerTypeDescriptionName, Object[] parameters) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescriptionName- the ContainerTypeDescription name to lookup. Must not benull.parameters- the Object [] of parameters passed to the IContainerInstantiator.createInstance method. May benull.- Returns:
- a valid instance of IContainer. Will not be
null. - Throws:
ContainerCreateException- if some problem creating the instance.
-
createContainer
public IContainer createContainer(ContainerTypeDescription containerTypeDescription, ID containerID, Object[] parameters) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescription- the ContainerTypeDescription to use to create the instance. Must not benull.containerID- the container's new ID. May benull.parameters- an Object [] of parameters passed to the createInstance method of the IContainerInstantiator. May benull.- Returns:
- a valid instance of IContainer
- Throws:
ContainerCreateException- if some problem creating the instance.
-
createContainer
public IContainer createContainer(String containerTypeDescriptionName, ID containerID, Object[] parameters) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescriptionName- the ContainerTypeDescription name to lookup. Must not benull.containerID- the new container's id. May benull.parameters- the Object [] of parameters passed to the IContainerInstantiator.createInstance method. May benull.- Returns:
- a valid instance of IContainer. Will not be
null. - Throws:
ContainerCreateException- if some problem creating the instance.
-
createContainer
public IContainer createContainer(ContainerTypeDescription containerTypeDescription, ID containerID) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescription- the ContainerTypeDescription to lookup. Must not benull.containerID- the new container's id. May benull.- Returns:
- a valid instance of IContainer. Will not be
null. - Throws:
ContainerCreateException- if some problem creating the instance.
-
createContainer
public IContainer createContainer(String containerTypeDescriptionName, ID containerID) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescriptionName- the ContainerTypeDescription name to lookup. Must not benull.containerID- the new container's id. May benull.- Returns:
- a valid instance of IContainer. Will not be
null. - Throws:
ContainerCreateException- if some problem creating the instance.
-
createContainer
public IContainer createContainer(String containerTypeDescriptionName, String containerId) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescriptionName- the ContainerTypeDescription name to use to create the instance. Must not benull.containerId- the container's new ID. May benull.- Returns:
- a valid instance of IContainer
- Throws:
ContainerCreateException- if some problem creating the instance.- Since:
- 3.1
-
createContainer
public IContainer createContainer(String containerTypeDescriptionName, String containerId, Object[] parameters) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescriptionName- the ContainerTypeDescription name to use to create the instance. Must not benull.containerId- the container's new ID. May benull.parameters- an Object [] of parameters passed to the createInstance method of the IContainerInstantiator. May benull.- Returns:
- a valid instance of IContainer
- Throws:
ContainerCreateException- if some problem creating the instance.- Since:
- 3.1
-
createContainer
public IContainer createContainer(ContainerTypeDescription containerTypeDescription, String containerId) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescription- the ContainerTypeDescription to use to create the instance. Must not benull.containerId- the container's new ID. May benull.- Returns:
- a valid instance of IContainer
- Throws:
ContainerCreateException- if some problem creating the instance.- Since:
- 3.1
-
createContainer
public IContainer createContainer(ContainerTypeDescription containerTypeDescription, String containerId, Object[] parameters) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescription- the ContainerTypeDescription to use to create the instance. Must not benull.containerId- the container's new ID. May benull.parameters- an Object [] of parameters passed to the createInstance method of the IContainerInstantiator. May benull.- Returns:
- a valid instance of IContainer
- Throws:
ContainerCreateException- if some problem creating the instance.- Since:
- 3.1
-
getAllContainers
Description copied from interface:IContainerManagerGet all containers known to this container manager.- Specified by:
getAllContainersin interfaceIContainerManager- Returns:
- IContainer[] of active container instances known to this
container manager. Will not return
null, but may return empty IContainer[].
-
getContainer
Description copied from interface:IContainerManagerGet container for given ID. IfcontainerIDisnullthennullwill be returned. If active container with givencontainerID,is not known to this container manager, thennullwill also be returned.- Specified by:
getContainerin interfaceIContainerManager- Parameters:
containerID- the ID of the container instance to retrieve from this manager. Ifnullnullwill be returned.- Returns:
- IContainer instance with given
containerID. Will benullif there is no container with given ID known to this container manager.
-
hasContainer
Description copied from interface:IContainerManagerReturn true if this container manager has the given container under management, false otherwise.- Specified by:
hasContainerin interfaceIContainerManager- Parameters:
containerID- the ID of the container to find. Ifnullthis method returns false.- Returns:
- true if this container manager has the given container under management, false otherwise.
-
addListener
Description copied from interface:IContainerManagerAdd listener to thisIContainerManager.- Specified by:
addListenerin interfaceIContainerManager- Parameters:
listener- the listener to add. Must not benull.- Returns:
- true if listener successfully added
-
removeListener
Description copied from interface:IContainerManagerRemove listener from thisIContainerManager.- Specified by:
removeListenerin interfaceIContainerManager- Parameters:
listener- the listener to remove. Must not benull.- Returns:
- true if listener successfully removed
-
addContainer
Description copied from interface:IContainerManagerAdd given container to manager.- Specified by:
addContainerin interfaceIContainerManager- Parameters:
container- to add. Must not benull. Alsocontainer.getID()must return a non-nullvalue. Ifcontainer.getID()returnsnullthen this method will throw aNullPointerException.typeDescription- the container type description used to create the given container. Must not benull.- Returns:
- IContainer previously added (with same ID).
-
removeContainer
Description copied from interface:IContainerManagerRemove given container from manager.- Specified by:
removeContainerin interfaceIContainerManager- Parameters:
container- the container to remove. Must not benull.- Returns:
- IContainer instance removed. If no instance with same ID is found
then
nullwill be returned.
-
removeContainer
Description copied from interface:IContainerManagerRemove given container from manager.- Specified by:
removeContainerin interfaceIContainerManager- Parameters:
containerID- the ID of the container to remove. Must not benull.- Returns:
- IContainer instance removed. If no instance with same ID is found
then
nullwill be returned.
-
getContainerTypeDescription
Description copied from interface:IContainerManagerGet the container type description used to create the container with the given ID.- Specified by:
getContainerTypeDescriptionin interfaceIContainerManager- Parameters:
containerID- the ID of the container to get the description for.- Returns:
- ContainerTypeDescription for the container with the given ID. Will return
nullif no container with the given containerID exists under this manager.
-
getContainerFactory
Description copied from interface:IContainerManagerGet container factory associated with this container manager.- Specified by:
getContainerFactoryin interfaceIContainerManager- Returns:
- IContainerFactory. Will not return
null.
-
removeAllContainers
public void removeAllContainers()Description copied from interface:IContainerManagerRemove all containers from this manager- Specified by:
removeAllContainersin interfaceIContainerManager
-
createContainer
public IContainer createContainer(ContainerTypeDescription containerTypeDescription, ID containerID, Map parameters) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescription- the ContainerTypeDescription to use to create the instance. Must not benull.containerID- the container's new ID. Must not benull.parameters- a Map of parameters (name/value pairs) passed to the createInstance method of the IContainerInstantiator. May benull.- Returns:
- a valid instance of IContainer
- Throws:
ContainerCreateException- if some problem creating the instance.- Since:
- 3.1
-
createContainer
public IContainer createContainer(ContainerTypeDescription containerTypeDescription, String containerId, Map parameters) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescription- the ContainerTypeDescription to use to create the instance. Must not benull.containerId- the container's new ID. May benull.parameters- a Map of parameters (name/value pairs) passed to the createInstance method of the IContainerInstantiator. May benull.- Returns:
- a valid instance of IContainer
- Throws:
ContainerCreateException- if some problem creating the instance.- Since:
- 3.1
-
createContainer
public IContainer createContainer(String containerTypeDescriptionName, ID containerID, Map parameters) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescriptionName- the ContainerTypeDescription name to lookup. Must not benull.containerID- the container's new ID. May benull.parameters- a Map of parameters (name/value pairs) passed to the createInstance method of the IContainerInstantiator. May benull.- Returns:
- a valid instance of IContainer
- Throws:
ContainerCreateException- if some problem creating the instance.- Since:
- 3.1
-
createContainer
public IContainer createContainer(String containerTypeDescriptionName, String containerId, Map parameters) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescriptionName- the ContainerTypeDescription name to lookup. Must not benull.containerId- the container's new ID. May benull.parameters- a Map of parameters (name/value pairs) passed to the createInstance method of the IContainerInstantiator. May benull.- Returns:
- a valid instance of IContainer
- Throws:
ContainerCreateException- if some problem creating the instance.- Since:
- 3.1
-
createContainer
public IContainer createContainer(ContainerTypeDescription containerTypeDescription, Map parameters) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescription- the ContainerTypeDescription to use to create the instance. Must not benull.parameters- a Map of parameters (name/value pairs) passed to the createInstance method of the IContainerInstantiator. May benull.- Returns:
- a valid instance of IContainer
- Throws:
ContainerCreateException- if some problem creating the instance.- Since:
- 3.1
-
createContainer
public IContainer createContainer(String containerTypeDescriptionName, Map parameters) throws ContainerCreateException Description copied from interface:IContainerFactoryCreate a new container.- Specified by:
createContainerin interfaceIContainerFactory- Parameters:
containerTypeDescriptionName- the ContainerTypeDescription name to lookup. Must not benull.parameters- a Map of parameters (name/value pairs) passed to the createInstance method of the IContainerInstantiator. May benull.- Returns:
- a valid instance of IContainer
- Throws:
ContainerCreateException- if some problem creating the instance.- Since:
- 3.1
-