Package org.eclipse.ecf.core

# Interface IContainerManager

All Known Implementing Classes:
  `ContainerFactory`

public interface IContainerManager
Container manager for getting access to existing container instances previously created via `IContainerFactory`.

## Method Summary

Modifier and Type
Method
Description
`IContainer`
`addContainer(IContainer container, ContainerTypeDescription typeDescription)`
Add given container to manager.
`boolean`
`addListener(IContainerManagerListener listener)`
Add listener to this `IContainerManager`.
`IContainer[]`
`getAllContainers()`
Get all containers known to this container manager.
`IContainer`
`getContainer(ID containerID)`
Get container for given ID.
`IContainerFactory`
`getContainerFactory()`
Get container factory associated with this container manager.
`ContainerTypeDescription`
`getContainerTypeDescription(ID containerID)`
Get the container type description used to create the container with the given ID.
`boolean`
`hasContainer(ID containerID)`
Return true if this container manager has the given container under management, false otherwise.
`void`
`removeAllContainers()`
Remove all containers from this manager
`IContainer`
`removeContainer(IContainer container)`
Remove given container from manager.
`IContainer`
`removeContainer(ID containerID)`
Remove given container from manager.
`boolean`
`removeListener(IContainerManagerListener listener)`
Remove listener from this `IContainerManager`.

## Method Details

### getContainerFactory

IContainerFactory getContainerFactory()
Get container factory associated with this container manager.

Returns:
  IContainerFactory. Will not return `null`.
Since:
  3.0

### getContainer

IContainer getContainer(ID containerID)
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.

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.

### getContainerTypeDescription

ContainerTypeDescription getContainerTypeDescription(ID containerID)
Get the container type description used to create the container with the given ID.

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.

### getAllContainers

IContainer[] getAllContainers()
Get all containers known to this container manager.

Returns:
  IContainer[] of active container instances known to this container manager. Will not return `null`, but may return empty IContainer[].

### hasContainer

boolean hasContainer(ID containerID)
Return true if this container manager has the given container under management, false otherwise.

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

IContainer addContainer(IContainer container, ContainerTypeDescription typeDescription)
Add given container to manager.

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

IContainer removeContainer(IContainer container)
Remove given container from manager.

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

IContainer removeContainer(ID containerID)
Remove given container from manager.

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.
Since:
  3.0

### addListener

boolean addListener(IContainerManagerListener listener)
Add listener to this `IContainerManager`.

Parameters:
  `listener` - the listener to add. Must not be `null`.
Returns:
  true if listener successfully added

### removeListener

boolean removeListener(IContainerManagerListener listener)
Remove listener from this `IContainerManager`.

Parameters:
  `listener` - the listener to remove. Must not be `null`.
Returns:
  true if listener successfully removed

### removeAllContainers

void removeAllContainers()
Remove all containers from this manager

Since:
  3.0