org.eclipse.net4j.util.container
Class ManagedContainer
java.lang.Object
org.eclipse.net4j.util.event.Notifier
org.eclipse.net4j.util.lifecycle.Lifecycle
org.eclipse.net4j.util.container.ManagedContainer
- All Implemented Interfaces:
- IContainer<Object>, IManagedContainer, INotifier, ILifecycle, ILifecycle.DeferrableActivation
- public class ManagedContainer
- extends Lifecycle
- implements IManagedContainer
A default implementation of a managed container.
|
Method Summary |
protected void |
activateElement(Object element)
|
void |
addPostProcessor(IElementProcessor postProcessor)
|
void |
addPostProcessor(IElementProcessor postProcessor,
boolean processExistingElements)
|
void |
clearElements()
|
protected Object |
createElement(String productGroup,
String factoryType,
String description)
|
protected IRegistry<IFactoryKey,IFactory> |
createFactoryRegistry()
|
protected List<IElementProcessor> |
createPostProcessors()
|
protected void |
doActivate()
|
protected void |
doDeactivate()
|
void |
fireEvent(IEvent event)
|
Object |
getElement(String productGroup,
String factoryType,
String description)
|
Object |
getElement(String productGroup,
String factoryType,
String description,
boolean activate)
|
String[] |
getElementKey(Object element)
|
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)
|
List<IElementProcessor> |
getPostProcessors()
|
Set<String> |
getProductGroups()
|
boolean |
isEmpty()
|
void |
loadElements(InputStream stream)
|
protected Object |
postProcessElement(String productGroup,
String factoryType,
String description,
Object element)
|
protected Object |
putElement(org.eclipse.net4j.util.container.ManagedContainer.ElementKey key,
Object element)
|
Object |
putElement(String productGroup,
String factoryType,
String description,
Object element)
|
ManagedContainer |
registerFactory(IFactory factory)
|
protected Object |
removeElement(org.eclipse.net4j.util.container.ManagedContainer.ElementKey key)
|
Object |
removeElement(String productGroup,
String factoryType,
String description)
|
void |
removePostProcessor(IElementProcessor postProcessor)
|
void |
saveElements(OutputStream stream)
|
String |
toString()
|
| Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle |
activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, dump, getLifecycleState, isActive, isDeferredActivation |
ManagedContainer
public ManagedContainer()
getFactoryRegistry
public IRegistry<IFactoryKey,IFactory> getFactoryRegistry()
- Specified by:
getFactoryRegistry in interface IManagedContainer
registerFactory
public ManagedContainer registerFactory(IFactory factory)
- Specified by:
registerFactory in interface IManagedContainer
getPostProcessors
public List<IElementProcessor> getPostProcessors()
- Specified by:
getPostProcessors in interface IManagedContainer
addPostProcessor
public void addPostProcessor(IElementProcessor postProcessor,
boolean processExistingElements)
- Specified by:
addPostProcessor in interface IManagedContainer
addPostProcessor
public void addPostProcessor(IElementProcessor postProcessor)
- Specified by:
addPostProcessor in interface IManagedContainer
removePostProcessor
public void removePostProcessor(IElementProcessor postProcessor)
- Specified by:
removePostProcessor in interface IManagedContainer
getProductGroups
public Set<String> getProductGroups()
- Specified by:
getProductGroups in interface IManagedContainer
getFactoryTypes
public Set<String> getFactoryTypes(String productGroup)
- Specified by:
getFactoryTypes in interface IManagedContainer
getFactory
public IFactory getFactory(String productGroup,
String factoryType)
throws FactoryNotFoundException
- Specified by:
getFactory in interface IManagedContainer
- Throws:
FactoryNotFoundException
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty in interface IContainer<Object>
getElementKey
public String[] getElementKey(Object element)
- Specified by:
getElementKey in interface IManagedContainer
getElements
public Object[] getElements()
- Specified by:
getElements in interface IContainer<Object>
getElements
public Object[] getElements(String productGroup)
- Specified by:
getElements in interface IManagedContainer
getElements
public Object[] getElements(String productGroup,
String factoryType)
- Specified by:
getElements in interface IManagedContainer
getElement
public Object getElement(String productGroup,
String factoryType,
String description)
throws FactoryNotFoundException,
ProductCreationException
- Specified by:
getElement in interface IManagedContainer
- Throws:
FactoryNotFoundException
ProductCreationException
getElement
public Object getElement(String productGroup,
String factoryType,
String description,
boolean activate)
throws FactoryNotFoundException,
ProductCreationException
- Specified by:
getElement in interface IManagedContainer
- Throws:
FactoryNotFoundException
ProductCreationException- Since:
- 2.0
activateElement
protected void activateElement(Object element)
- Since:
- 3.2
putElement
public Object putElement(String productGroup,
String factoryType,
String description,
Object element)
- Specified by:
putElement in interface 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)
- Specified by:
removeElement in interface IManagedContainer
removeElement
protected Object removeElement(org.eclipse.net4j.util.container.ManagedContainer.ElementKey key)
clearElements
public void clearElements()
- Specified by:
clearElements in interface IManagedContainer
loadElements
public void loadElements(InputStream stream)
throws IOException,
FactoryNotFoundException,
ProductCreationException
- Specified by:
loadElements in interface IManagedContainer
- Throws:
IOException
FactoryNotFoundException
ProductCreationException
saveElements
public void saveElements(OutputStream stream)
throws IOException
- Specified by:
saveElements in interface IManagedContainer
- Throws:
IOException
fireEvent
public void fireEvent(IEvent event)
- Overrides:
fireEvent in class Notifier
toString
public String toString()
- Overrides:
toString in class Lifecycle
createFactoryRegistry
protected IRegistry<IFactoryKey,IFactory> createFactoryRegistry()
createPostProcessors
protected List<IElementProcessor> createPostProcessors()
getElementRegistryKeys
protected org.eclipse.net4j.util.container.ManagedContainer.ElementKey[] getElementRegistryKeys()
- Since:
- 2.0
getElementRegistryValues
protected Object[] getElementRegistryValues()
- Since:
- 2.0
getElementRegistryEntries
protected Map.Entry<org.eclipse.net4j.util.container.ManagedContainer.ElementKey,Object>[] getElementRegistryEntries()
- Since:
- 2.0
createElement
protected Object createElement(String productGroup,
String factoryType,
String description)
throws FactoryNotFoundException,
ProductCreationException
- Throws:
FactoryNotFoundException
ProductCreationException
postProcessElement
protected Object postProcessElement(String productGroup,
String factoryType,
String description,
Object element)
doActivate
protected void doActivate()
throws Exception
- Overrides:
doActivate in class Lifecycle
- Throws:
Exception
doDeactivate
protected void doDeactivate()
throws Exception
- Overrides:
doDeactivate in class Lifecycle
- Throws:
Exception
Copyright (c) 2011, 2012 Eike Stepper (Berlin, Germany) and others.