Package org.eclipse.net4j.util.container

# Klasse ManagedContainer

java.lang.Object
org.eclipse.net4j.util.event.Notifier
org.eclipse.net4j.util.lifecycle.Lifecycle
org.eclipse.net4j.util.container.ManagedContainer

Alle implementierten Schnittstellen:
  `IContainer<Object>`, `IManagedContainer`, `INotifier`, `INotifier.INotifier2`, `IDeactivateable`, `ILifecycle`, `ILifecycle.DeferrableActivation`

public class ManagedContainer extends Lifecycle implements IManagedContainer
A default implementation of a `managed container`.

Autor:
  Eike Stepper

## Verschachtelte Klassen - Übersicht

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.container.IContainer

`IContainer.Modifiable<E>, IContainer.Persistable<E>, IContainer.Persistence<E>`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.lifecycle.ILifecycle

`ILifecycle.DeferrableActivation`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.container.IManagedContainer

`IManagedContainer.ContainerAware`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.event.INotifier

`INotifier.INotifier2`

## Feldübersicht

### Von Klasse geerbte Felder org.eclipse.net4j.util.lifecycle.Lifecycle

`USE_LABEL`

## Konstruktorübersicht

Konstruktoren
Konstruktor
Beschreibung
`ManagedContainer()`

## Methodenübersicht

Modifizierer und Typ
Methode
Beschreibung
`protected void`
`activateElement(Object element)`
`void`
`addPostProcessor(IElementProcessor postProcessor)`
`void`
`addPostProcessor(IElementProcessor postProcessor, boolean processExistingElements)`
`void`
`clearElements()`
`int`
`countElements(String productGroup)`
`int`
`countElements(String productGroup, String factoryType)`
`<T> T`
`createElement(String productGroup, String factoryType, String description)`
`<T> T`
`createElement(String productGroup, String factoryType, Tree config)`
`protected IRegistry<IFactoryKey,IFactory>`
`createFactoryRegistry()`
`protected List<IElementProcessor>`
`createPostProcessors()`
`protected void`
`doActivate()`
`protected void`
`doDeactivate()`
`void`
`fireEvent(IEvent event)`
`<T> void`
`forEachElement(String productGroup, Class<T> productType, String description, Consumer<T> consumer)`
`<T> void`
`forEachElement(String productGroup, Class<T> productType, Consumer<T> consumer)`
`<T> void`
`forEachElement(String productGroup, Class<T> productType, Function<String,String> descriptionProvider, Consumer<T> consumer)`
`Object`
`getElement(String productGroup, String factoryType, String description)`
`Object`
`getElement(String productGroup, String factoryType, String description, boolean activate)`
`String[]`
`getElementKey(Object element)`
`<T> T`
`getElementOrNull(String productGroup, String factoryType)`
`<T> T`
`getElementOrNull(String productGroup, String factoryType, String description)`
`<T> T`
`getElementOrNull(String productGroup, String factoryType, Tree config)`
`protected Map.Entry<org.eclipse.net4j.util.container.ManagedContainer.ElementKey,Object>[]`
`getElementRegistryEntries()`
`protected org.eclipse.net4j.util.container.ManagedContainer.ElementKey[]`
`getElementRegistryKeys()`
`protected Object[]`
`getElementRegistryValues()`
`Object[]`
`getElements()`
`Object[]`
`getElements(String productGroup)`
`Object[]`
`getElements(String productGroup, String factoryType)`
`IFactory`
`getFactory(String productGroup, String factoryType)`
`IRegistry<IFactoryKey,IFactory>`
`getFactoryRegistry()`
`Set<String>`
`getFactoryTypes(String productGroup)`
`String`
`getName()`
Returns the name of this container, or `null` if no name has been set.
`List<IElementProcessor>`
`getPostProcessors()`
`Set<String>`
`getProductGroups()`
`protected String`
`getTypeName()`
`boolean`
`isEmpty()`
`void`
`loadElements(InputStream stream)`
`protected Object`
`postProcessElement(String productGroup, String factoryType, String description, Object element)`
`Object`
`putElement(String productGroup, String factoryType, String description, Object element)`
`protected Object`
`putElement(org.eclipse.net4j.util.container.ManagedContainer.ElementKey key, Object element)`
`ManagedContainer`
`registerFactory(IFactory factory)`
`Object`
`removeElement(String productGroup, String factoryType, String description)`
`protected Object`
`removeElement(org.eclipse.net4j.util.container.ManagedContainer.ElementKey key)`
`void`
`removePostProcessor(IElementProcessor postProcessor)`
`void`
`saveElements(OutputStream stream)`
`void`
`setName(String name)`
Sets the name of this container before it is activated.
`String`
`toString()`
`IManagedContainer`
`unregisterFactory(IFactory factory)`

### Von Klasse geerbte Methoden org.eclipse.net4j.util.lifecycle.Lifecycle

`activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, dump, getLifecycleState, isActive, isDeferredActivation`

### Von Klasse geerbte Methoden org.eclipse.net4j.util.event.Notifier

`addListener, addUniqueListener, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener`

### Von Klasse geerbte Methoden java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.lifecycle.ILifecycle

`activate, deactivate, getLifecycleState, isActive`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.event.INotifier

`addListener, getListeners, hasListeners, removeListener`

## Konstruktordetails

### ManagedContainer

public ManagedContainer()

## Methodendetails

### getName

public String getName()
Beschreibung aus Schnittstelle kopiert: `IManagedContainer`
Returns the name of this container, or `null` if no name has been set.

Angegeben von:
  `getName` in Schnittstelle `IManagedContainer`
Seit:
  3.8

### setName

public void setName(String name)
Beschreibung aus Schnittstelle kopiert: `IManagedContainer`
Sets the name of this container before it is activated.

Angegeben von:
  `setName` in Schnittstelle `IManagedContainer`
Seit:
  3.8

### getFactoryRegistry

public IRegistry<IFactoryKey,IFactory> getFactoryRegistry()

Angegeben von:
  `getFactoryRegistry` in Schnittstelle `IManagedContainer`

### registerFactory

public ManagedContainer registerFactory(IFactory factory)

Angegeben von:
  `registerFactory` in Schnittstelle `IManagedContainer`

### unregisterFactory

public IManagedContainer unregisterFactory(IFactory factory)

Angegeben von:
  `unregisterFactory` in Schnittstelle `IManagedContainer`

### getPostProcessors

public List<IElementProcessor> getPostProcessors()

Angegeben von:
  `getPostProcessors` in Schnittstelle `IManagedContainer`

### addPostProcessor

public void addPostProcessor(IElementProcessor postProcessor, boolean processExistingElements)

Angegeben von:
  `addPostProcessor` in Schnittstelle `IManagedContainer`

### addPostProcessor

public void addPostProcessor(IElementProcessor postProcessor)

Angegeben von:
  `addPostProcessor` in Schnittstelle `IManagedContainer`

### removePostProcessor

public void removePostProcessor(IElementProcessor postProcessor)

Angegeben von:
  `removePostProcessor` in Schnittstelle `IManagedContainer`

### getProductGroups

public Set<String> getProductGroups()

Angegeben von:
  `getProductGroups` in Schnittstelle `IManagedContainer`

### getFactoryTypes

public Set<String> getFactoryTypes(String productGroup)

Angegeben von:
  `getFactoryTypes` in Schnittstelle `IManagedContainer`

### getFactory

public IFactory getFactory(String productGroup, String factoryType) throws FactoryNotFoundException

Angegeben von:
  `getFactory` in Schnittstelle `IManagedContainer`
Löst aus:
  `FactoryNotFoundException`

### isEmpty

public boolean isEmpty()

Angegeben von:
  `isEmpty` in Schnittstelle `IContainer<Object>`

### getElementKey

public String[] getElementKey(Object element)

Angegeben von:
  `getElementKey` in Schnittstelle `IManagedContainer`

### getElements

public Object[] getElements()

Angegeben von:
  `getElements` in Schnittstelle `IContainer<Object>`

### getElements

public Object[] getElements(String productGroup)

Angegeben von:
  `getElements` in Schnittstelle `IManagedContainer`

### getElements

public Object[] getElements(String productGroup, String factoryType)

Angegeben von:
  `getElements` in Schnittstelle `IManagedContainer`

### getElement

public Object getElement(String productGroup, String factoryType, String description) throws FactoryNotFoundException, ProductCreationException

Angegeben von:
  `getElement` in Schnittstelle `IManagedContainer`
Löst aus:
  `FactoryNotFoundException`
  `ProductCreationException`

### getElement

public Object getElement(String productGroup, String factoryType, String description, boolean activate) throws FactoryNotFoundException, ProductCreationException

Angegeben von:
  `getElement` in Schnittstelle `IManagedContainer`
Löst aus:
  `FactoryNotFoundException`
  `ProductCreationException`
Seit:
  2.0

### getElementOrNull

public <T> T getElementOrNull(String productGroup, String factoryType) throws ProductCreationException

Angegeben von:
  `getElementOrNull` in Schnittstelle `IManagedContainer`
Löst aus:
  `ProductCreationException`

### getElementOrNull

public <T> T getElementOrNull(String productGroup, String factoryType, String description) throws ProductCreationException

Angegeben von:
  `getElementOrNull` in Schnittstelle `IManagedContainer`
Löst aus:
  `ProductCreationException`

### getElementOrNull

public <T> T getElementOrNull(String productGroup, String factoryType, Tree config) throws ProductCreationException

Angegeben von:
  `getElementOrNull` in Schnittstelle `IManagedContainer`
Löst aus:
  `ProductCreationException`
Seit:
  3.23

### createElement

public <T> T createElement(String productGroup, String factoryType, String description) throws FactoryNotFoundException, ProductCreationException

Angegeben von:
  `createElement` in Schnittstelle `IManagedContainer`
Löst aus:
  `FactoryNotFoundException`
  `ProductCreationException`
Seit:
  3.23

### createElement

public <T> T createElement(String productGroup, String factoryType, Tree config) throws FactoryNotFoundException, ProductCreationException

Angegeben von:
  `createElement` in Schnittstelle `IManagedContainer`
Löst aus:
  `FactoryNotFoundException`
  `ProductCreationException`
Seit:
  3.23

### countElements

public int countElements(String productGroup)

Angegeben von:
  `countElements` in Schnittstelle `IManagedContainer`

### countElements

public int countElements(String productGroup, String factoryType)

Angegeben von:
  `countElements` in Schnittstelle `IManagedContainer`

### activateElement

protected void activateElement(Object element)

Seit:
  3.2

### putElement

public Object putElement(String productGroup, String factoryType, String description, Object element)

Angegeben von:
  `putElement` in Schnittstelle `IManagedContainer`

### putElement

protected Object putElement(org.eclipse.net4j.util.container.ManagedContainer.ElementKey key, Object element)

### removeElement

public Object removeElement(String productGroup, String factoryType, String description)

Angegeben von:
  `removeElement` in Schnittstelle `IManagedContainer`

### removeElement

protected Object removeElement(org.eclipse.net4j.util.container.ManagedContainer.ElementKey key)

### forEachElement

public <T> void forEachElement(String productGroup, Class<T> productType, Function<String,String> descriptionProvider, Consumer<T> consumer)

Angegeben von:
  `forEachElement` in Schnittstelle `IManagedContainer`

### forEachElement

public <T> void forEachElement(String productGroup, Class<T> productType, String description, Consumer<T> consumer)

Angegeben von:
  `forEachElement` in Schnittstelle `IManagedContainer`

### forEachElement

public <T> void forEachElement(String productGroup, Class<T> productType, Consumer<T> consumer)

Angegeben von:
  `forEachElement` in Schnittstelle `IManagedContainer`

### clearElements

public void clearElements()

Angegeben von:
  `clearElements` in Schnittstelle `IManagedContainer`

### loadElements

public void loadElements(InputStream stream) throws IOException, FactoryNotFoundException, ProductCreationException

Angegeben von:
  `loadElements` in Schnittstelle `IManagedContainer`
Löst aus:
  `IOException`
  `FactoryNotFoundException`
  `ProductCreationException`

### saveElements

public void saveElements(OutputStream stream) throws IOException

Angegeben von:
  `saveElements` in Schnittstelle `IManagedContainer`
Löst aus:
  `IOException`

### fireEvent

public void fireEvent(IEvent event)

Setzt außer Kraft:
  `fireEvent` in Klasse `Notifier`

### toString

public String toString()

Setzt außer Kraft:
  `toString` in Klasse `Lifecycle`

### getTypeName

protected String getTypeName()

Seit:
  3.8

### createFactoryRegistry

protected IRegistry<IFactoryKey,IFactory> createFactoryRegistry()

### createPostProcessors

protected List<IElementProcessor> createPostProcessors()

### getElementRegistryKeys

protected org.eclipse.net4j.util.container.ManagedContainer.ElementKey[] getElementRegistryKeys()

Seit:
  2.0

### getElementRegistryValues

protected Object[] getElementRegistryValues()

Seit:
  2.0

### getElementRegistryEntries

protected Map.Entry<org.eclipse.net4j.util.container.ManagedContainer.ElementKey,Object>[] getElementRegistryEntries()

Seit:
  2.0

### postProcessElement

protected Object postProcessElement(String productGroup, String factoryType, String description, Object element)

### doActivate

protected void doActivate() throws Exception

Setzt außer Kraft:
  `doActivate` in Klasse `Lifecycle`
Löst aus:
  `Exception`

### doDeactivate

protected void doDeactivate() throws Exception

Setzt außer Kraft:
  `doDeactivate` in Klasse `Lifecycle`
Löst aus:
  `Exception`