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 ContainerTypeDescription
addDescription0
(ContainerTypeDescription containerTypeDescription) boolean
addListener
(IContainerManagerListener listener) Add listener to thisIContainerManager
.boolean
containsDescription
(ContainerTypeDescription containerTypeDescription) Check to see if a given named description is already contained by this factoryprotected boolean
containsDescription0
(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 IContainerFactory
protected ContainerTypeDescription
getDescription0
(String containerTypeDescriptionName) protected ContainerTypeDescription
getDescription0
(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 List
getDescriptionsForContainerAdapter
(Class containerAdapter) Get container type descriptions that support the given containerAdapterboolean
hasContainer
(ID containerID) Return true if this container manager has the given container under management, false otherwise.void
Remove 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 ContainerTypeDescription
removeDescription0
(ContainerTypeDescription containerTypeDescription) boolean
removeListener
(IContainerManagerListener listener) Remove listener from thisIContainerManager
.protected void
throwContainerCreateException
(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:IContainerFactory
Add a ContainerTypeDescription to the set of known ContainerDescriptions.- Specified by:
addDescription
in 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:IContainerFactory
Get 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:
getDescriptions
in interfaceIContainerFactory
- Returns:
- List of ContainerTypeDescription instances
-
getDescriptions0
-
addDescription0
protected ContainerTypeDescription addDescription0(ContainerTypeDescription containerTypeDescription) -
containsDescription
Description copied from interface:IContainerFactory
Check to see if a given named description is already contained by this factory- Specified by:
containsDescription
in 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:IContainerFactory
Get the known ContainerTypeDescription given it's name.- Specified by:
getDescriptionByName
in 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:IContainerFactory
Remove given description from set known to this factory.- Specified by:
removeDescription
in 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:IContainerFactory
Get container type descriptions that support the given containerAdapter- Specified by:
getDescriptionsForContainerAdapter
in 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:IContainerFactory
Make a base IContainer instance.- Specified by:
createContainer
in interfaceIContainerFactory
- Returns:
- IContainer instance. A non-
null
instance will be returned. - Throws:
ContainerCreateException
- if some problem creating the instance.
-
createContainer
Description copied from interface:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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-
null
instance 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerManager
Get all containers known to this container manager.- Specified by:
getAllContainers
in 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:IContainerManager
Get container for given ID. IfcontainerID
isnull
thennull
will be returned. If active container with givencontainerID,
is not known to this container manager, thennull
will also be returned.- Specified by:
getContainer
in interfaceIContainerManager
- Parameters:
containerID
- the ID of the container instance to retrieve from this manager. Ifnull
null
will be returned.- Returns:
- IContainer instance with given
containerID
. Will benull
if there is no container with given ID known to this container manager.
-
hasContainer
Description copied from interface:IContainerManager
Return true if this container manager has the given container under management, false otherwise.- Specified by:
hasContainer
in interfaceIContainerManager
- Parameters:
containerID
- the ID of the container to find. Ifnull
this method returns false.- Returns:
- true if this container manager has the given container under management, false otherwise.
-
addListener
Description copied from interface:IContainerManager
Add listener to thisIContainerManager
.- Specified by:
addListener
in interfaceIContainerManager
- Parameters:
listener
- the listener to add. Must not benull
.- Returns:
- true if listener successfully added
-
removeListener
Description copied from interface:IContainerManager
Remove listener from thisIContainerManager
.- Specified by:
removeListener
in interfaceIContainerManager
- Parameters:
listener
- the listener to remove. Must not benull
.- Returns:
- true if listener successfully removed
-
addContainer
Description copied from interface:IContainerManager
Add given container to manager.- Specified by:
addContainer
in interfaceIContainerManager
- Parameters:
container
- to add. Must not benull
. Alsocontainer.getID()
must return a non-null
value. Ifcontainer.getID()
returnsnull
then 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:IContainerManager
Remove given container from manager.- Specified by:
removeContainer
in interfaceIContainerManager
- Parameters:
container
- the container to remove. Must not benull
.- Returns:
- IContainer instance removed. If no instance with same ID is found
then
null
will be returned.
-
removeContainer
Description copied from interface:IContainerManager
Remove given container from manager.- Specified by:
removeContainer
in 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
null
will be returned.
-
getContainerTypeDescription
Description copied from interface:IContainerManager
Get the container type description used to create the container with the given ID.- Specified by:
getContainerTypeDescription
in interfaceIContainerManager
- Parameters:
containerID
- the ID of the container to get the description for.- Returns:
- ContainerTypeDescription for the container with the given ID. Will return
null
if no container with the given containerID exists under this manager.
-
getContainerFactory
Description copied from interface:IContainerManager
Get container factory associated with this container manager.- Specified by:
getContainerFactory
in interfaceIContainerManager
- Returns:
- IContainerFactory. Will not return
null
.
-
removeAllContainers
public void removeAllContainers()Description copied from interface:IContainerManager
Remove all containers from this manager- Specified by:
removeAllContainers
in interfaceIContainerManager
-
createContainer
public IContainer createContainer(ContainerTypeDescription containerTypeDescription, ID containerID, Map parameters) throws ContainerCreateException Description copied from interface:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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:IContainerFactory
Create a new container.- Specified by:
createContainer
in 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
-