Class ContainerFactory

  • All Implemented Interfaces:
    IContainerFactory, IContainerManager

    public class ContainerFactory
    extends Object
    implements IContainerFactory, IContainerManager
    Factory for creating 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:
    IContainer, IContainerFactory
    • Constructor Detail

      • ContainerFactory

        protected ContainerFactory()
    • Method Detail

      • addDescription

        public ContainerTypeDescription addDescription​(ContainerTypeDescription containerTypeDescription)
        Description copied from interface: IContainerFactory
        Add a ContainerTypeDescription to the set of known ContainerDescriptions.
        Specified by:
        addDescription in interface IContainerFactory
        Parameters:
        containerTypeDescription - the ContainerTypeDescription to add to this factory. Must not be null.
        Returns:
        ContainerTypeDescription the old description of the same name, null if none found
      • getDescriptions

        public List 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 interface IContainerFactory
        Returns:
        List of ContainerTypeDescription instances
      • getDescriptions0

        protected List getDescriptions0()
      • containsDescription

        public boolean containsDescription​(ContainerTypeDescription containerTypeDescription)
        Description copied from interface: IContainerFactory
        Check to see if a given named description is already contained by this factory
        Specified by:
        containsDescription in interface IContainerFactory
        Parameters:
        containerTypeDescription - the ContainerTypeDescription to look for
        Returns:
        true if description is already known to factory, false otherwise
      • getDescriptionByName

        public ContainerTypeDescription getDescriptionByName​(String containerTypeDescriptionName)
        Description copied from interface: IContainerFactory
        Get the known ContainerTypeDescription given it's name.
        Specified by:
        getDescriptionByName in interface IContainerFactory
        Parameters:
        containerTypeDescriptionName - the name to use as key to find ContainerTypeDescription. Must not be null.
        Returns:
        ContainerTypeDescription found. Null if not found.
      • getDescriptionsForContainerAdapter

        public ContainerTypeDescription[] getDescriptionsForContainerAdapter​(Class containerAdapter)
        Description copied from interface: IContainerFactory
        Get container type descriptions that support the given containerAdapter
        Specified by:
        getDescriptionsForContainerAdapter in interface IContainerFactory
        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.
      • createContainer

        public IContainer createContainer​(ContainerTypeDescription containerTypeDescription,
                                          Object[] parameters)
                                   throws ContainerCreateException
        Description copied from interface: IContainerFactory
        Create a new container.
        Specified by:
        createContainer in interface IContainerFactory
        Parameters:
        containerTypeDescription - the ContainerTypeDescription to use to create the instance. Must not be null.
        parameters - an Object [] of parameters passed to the createInstance method of the IContainerInstantiator. May be null.
        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 interface IContainerFactory
        Parameters:
        containerTypeDescriptionName - the ContainerTypeDescription name to lookup. Must not be null.
        parameters - the Object [] of parameters passed to the IContainerInstantiator.createInstance method. May be null.
        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 interface IContainerFactory
        Parameters:
        containerTypeDescription - the ContainerTypeDescription to use to create the instance. Must not be null.
        containerID - the container's new ID. May be null.
        parameters - an Object [] of parameters passed to the createInstance method of the IContainerInstantiator. May be null.
        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 interface IContainerFactory
        Parameters:
        containerTypeDescriptionName - the ContainerTypeDescription name to lookup. Must not be null.
        containerID - the new container's id. May be null.
        parameters - the Object [] of parameters passed to the IContainerInstantiator.createInstance method. May be null.
        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,
                                          Object[] parameters)
                                   throws ContainerCreateException
        Description copied from interface: IContainerFactory
        Create a new container.
        Specified by:
        createContainer in interface IContainerFactory
        Parameters:
        containerTypeDescriptionName - the ContainerTypeDescription name to use to create the instance. Must not be null.
        containerId - the container's new ID. May be null.
        parameters - an Object [] of parameters passed to the createInstance method of the IContainerInstantiator. May be null.
        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 interface IContainerFactory
        Parameters:
        containerTypeDescription - the ContainerTypeDescription to use to create the instance. Must not be null.
        containerId - the container's new ID. May be null.
        parameters - an Object [] of parameters passed to the createInstance method of the IContainerInstantiator. May be null.
        Returns:
        a valid instance of IContainer
        Throws:
        ContainerCreateException - if some problem creating the instance.
        Since:
        3.1
      • getAllContainers

        public IContainer[] getAllContainers()
        Description copied from interface: IContainerManager
        Get all containers known to this container manager.
        Specified by:
        getAllContainers in interface IContainerManager
        Returns:
        IContainer[] of active container instances known to this container manager. Will not return null, but may return empty IContainer[].
      • getContainer

        public IContainer getContainer​(ID containerID)
        Description copied from interface: IContainerManager
        Get container for given ID. If containerID is null then null will be returned. If active container with given containerID, is not known to this container manager, then null will also be returned.
        Specified by:
        getContainer in interface IContainerManager
        Parameters:
        containerID - the ID of the container instance to retrieve from this manager. If null null will be returned.
        Returns:
        IContainer instance with given containerID. Will be null if there is no container with given ID known to this container manager.
      • hasContainer

        public boolean hasContainer​(ID containerID)
        Description copied from interface: IContainerManager
        Return true if this container manager has the given container under management, false otherwise.
        Specified by:
        hasContainer in interface IContainerManager
        Parameters:
        containerID - the ID of the container to find. If null this method returns false.
        Returns:
        true if this container manager has the given container under management, false otherwise.
      • addContainer

        public IContainer addContainer​(IContainer container,
                                       ContainerTypeDescription typeDescription)
        Description copied from interface: IContainerManager
        Add given container to manager.
        Specified by:
        addContainer in interface IContainerManager
        Parameters:
        container - to add. Must not be null. Also container.getID() must return a non-null value. If container.getID() returns null then this method will throw a NullPointerException.
        typeDescription - the container type description used to create the given container. Must not be null.
        Returns:
        IContainer previously added (with same ID).
      • removeContainer

        public IContainer removeContainer​(IContainer container)
        Description copied from interface: IContainerManager
        Remove given container from manager.
        Specified by:
        removeContainer in interface IContainerManager
        Parameters:
        container - the container to remove. Must not be null.
        Returns:
        IContainer instance removed. If no instance with same ID is found then null will be returned.
      • removeContainer

        public IContainer removeContainer​(ID containerID)
        Description copied from interface: IContainerManager
        Remove given container from manager.
        Specified by:
        removeContainer in interface IContainerManager
        Parameters:
        containerID - the ID of the container to remove. Must not be null.
        Returns:
        IContainer instance removed. If no instance with same ID is found then null will be returned.
      • getContainerTypeDescription

        public ContainerTypeDescription getContainerTypeDescription​(ID containerID)
        Description copied from interface: IContainerManager
        Get the container type description used to create the container with the given ID.
        Specified by:
        getContainerTypeDescription in interface IContainerManager
        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.
      • 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 interface IContainerFactory
        Parameters:
        containerTypeDescription - the ContainerTypeDescription to use to create the instance. Must not be null.
        containerID - the container's new ID. Must not be null.
        parameters - a Map of parameters (name/value pairs) passed to the createInstance method of the IContainerInstantiator. May be null.
        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 interface IContainerFactory
        Parameters:
        containerTypeDescription - the ContainerTypeDescription to use to create the instance. Must not be null.
        containerId - the container's new ID. May be null.
        parameters - a Map of parameters (name/value pairs) passed to the createInstance method of the IContainerInstantiator. May be null.
        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 interface IContainerFactory
        Parameters:
        containerTypeDescriptionName - the ContainerTypeDescription name to lookup. Must not be null.
        containerID - the container's new ID. May be null.
        parameters - a Map of parameters (name/value pairs) passed to the createInstance method of the IContainerInstantiator. May be null.
        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 interface IContainerFactory
        Parameters:
        containerTypeDescriptionName - the ContainerTypeDescription name to lookup. Must not be null.
        containerId - the container's new ID. May be null.
        parameters - a Map of parameters (name/value pairs) passed to the createInstance method of the IContainerInstantiator. May be null.
        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 interface IContainerFactory
        Parameters:
        containerTypeDescription - the ContainerTypeDescription to use to create the instance. Must not be null.
        parameters - a Map of parameters (name/value pairs) passed to the createInstance method of the IContainerInstantiator. May be null.
        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 interface IContainerFactory
        Parameters:
        containerTypeDescriptionName - the ContainerTypeDescription name to lookup. Must not be null.
        parameters - a Map of parameters (name/value pairs) passed to the createInstance method of the IContainerInstantiator. May be null.
        Returns:
        a valid instance of IContainer
        Throws:
        ContainerCreateException - if some problem creating the instance.
        Since:
        3.1