Class Registry<ELEMENT,OBSERVER extends ECPObserver>
- java.lang.Object
-
- org.eclipse.net4j.util.event.Notifier
-
- org.eclipse.net4j.util.lifecycle.Lifecycle
-
- org.eclipse.emf.ecp.internal.core.util.Registry<ELEMENT,OBSERVER>
-
- Type Parameters:
ELEMENT
-OBSERVER
-
- All Implemented Interfaces:
ECPDisposable.DisposeListener
,org.eclipse.net4j.util.event.INotifier
,org.eclipse.net4j.util.event.INotifier.INotifier2
,org.eclipse.net4j.util.lifecycle.IDeactivateable
,org.eclipse.net4j.util.lifecycle.ILifecycle
,org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation
- Direct Known Subclasses:
ElementRegistry
,Properties
public abstract class Registry<ELEMENT,OBSERVER extends ECPObserver> extends org.eclipse.net4j.util.lifecycle.Lifecycle implements ECPDisposable.DisposeListener
- Author:
- Eike Stepper
-
-
Constructor Summary
Constructors Constructor Description Registry()
Default constructor.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addObserver(OBSERVER observer)
Adds anECPObserver
to theECPObserverBus
.void
changeElements(java.util.Set<java.lang.String> remove, java.util.Set<ELEMENT> add)
Adds or remove elements contained in the registry.void
disposed(ECPDisposable disposable)
Callback method being used to notify listeners about a dispose.protected java.util.Set<ELEMENT>
doChangeElements(java.util.Set<java.lang.String> remove, java.util.Set<ELEMENT> add)
Executes adding or removing elements contained in the registry.protected void
elementsChanged(java.util.Collection<ELEMENT> oldElements, java.util.Collection<ELEMENT> newElements)
ELEMENT
getElement(java.lang.String key)
Retrieves an element with a certain name from the registry.int
getElementCount()
Returns the number of elements managed by the registry.protected abstract java.lang.String
getElementName(ELEMENT element)
java.util.Set<java.lang.String>
getElementNames()
Returns the names of the elements managed by the registry.java.util.Collection<ELEMENT>
getElements()
Returns the list of elements managed by the registry.boolean
hasElement(java.lang.String name)
Checks if an element with a certain name is managed by the registry.boolean
hasElements()
Returns if the registry has elements.protected static boolean
isDisposingElement()
protected boolean
isRemoveDisposedElements()
protected abstract void
notifyObservers(java.util.Collection<ELEMENT> oldArray, java.util.Collection<ELEMENT> newArray)
Notifies observers that the elements in the registry have changed.void
removeObserver(OBSERVER observer)
Removes anECPObserver
to theECPObserverBus
.-
Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle
activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString
-
Methods inherited from class org.eclipse.net4j.util.event.Notifier
addListener, addUniqueListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener
-
-
-
-
Method Detail
-
getElement
public final ELEMENT getElement(java.lang.String key)
Retrieves an element with a certain name from the registry.- Parameters:
key
- the name of the element to retrieve- Returns:
- the element or null if not contained in the registry
-
getElementNames
public final java.util.Set<java.lang.String> getElementNames()
Returns the names of the elements managed by the registry.- Returns:
- a set of strings representing the names of elements
-
getElementCount
public final int getElementCount()
Returns the number of elements managed by the registry.- Returns:
- an integer
-
getElements
public final java.util.Collection<ELEMENT> getElements()
Returns the list of elements managed by the registry.- Returns:
- a collection of elements
-
hasElements
public final boolean hasElements()
Returns if the registry has elements.- Returns:
- true if the registry has elements
-
hasElement
public final boolean hasElement(java.lang.String name)
Checks if an element with a certain name is managed by the registry.- Parameters:
name
- the name of the element to check- Returns:
- true if the element is managed by the registry
-
changeElements
public final void changeElements(java.util.Set<java.lang.String> remove, java.util.Set<ELEMENT> add)
Adds or remove elements contained in the registry.- Parameters:
remove
- a set of elements to be removedadd
- a set of elements to be added
-
disposed
public final void disposed(ECPDisposable disposable)
Callback method being used to notify listeners about a dispose.- Specified by:
disposed
in interfaceECPDisposable.DisposeListener
- Parameters:
disposable
- the object being disposed
-
isRemoveDisposedElements
protected boolean isRemoveDisposedElements()
- Returns:
- Whether elements should be removed from the registry if they are disposed.
-
doChangeElements
protected final java.util.Set<ELEMENT> doChangeElements(java.util.Set<java.lang.String> remove, java.util.Set<ELEMENT> add)
Executes adding or removing elements contained in the registry. As a caller, use changeElements().- Parameters:
remove
- a set of elements to be removedadd
- a set of elements to be added- Returns:
- a set of elements, which have been removed
-
addObserver
public void addObserver(OBSERVER observer)
Adds anECPObserver
to theECPObserverBus
.- Parameters:
observer
- the observer to be added
-
removeObserver
public void removeObserver(OBSERVER observer)
Removes anECPObserver
to theECPObserverBus
.- Parameters:
observer
- the observer to be removed
-
notifyObservers
protected abstract void notifyObservers(java.util.Collection<ELEMENT> oldArray, java.util.Collection<ELEMENT> newArray) throws java.lang.Exception
Notifies observers that the elements in the registry have changed.- Parameters:
oldArray
- The old collection of elementsnewArray
- The new collection of elements- Throws:
java.lang.Exception
-
elementsChanged
protected void elementsChanged(java.util.Collection<ELEMENT> oldElements, java.util.Collection<ELEMENT> newElements)
-
getElementName
protected abstract java.lang.String getElementName(ELEMENT element)
- Parameters:
element
- the element to retrieve a name for.- Returns:
- the name of an element
-
isDisposingElement
protected static boolean isDisposingElement()
-
-