ElementChangeSupport Class
- public class ElementChangeSupport
extends Object
This class implements support for element change events. A class that wants to expose this
support may embed an isntance of this object and it will insure take care of handling
all of the details of firing changes.
-
Hierarchy
-
Object
ElementChangeSupport
Methods from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ElementChangeSupport
public ElementChangeSupport(Object
source)
- Create a new instance of the ElementChangeSupport object. The provided source object will be used
as the source field of the
ElementChangeEvent
for events this object fires.
addElementChangeListener(IElementChangeListener) Method
public void addElementChangeListener(IElementChangeListener
ecl)
Adds a listener to the set that will be notified if a change occurs.
If the same listener is added twice, this shows the stack in the log, but
performs the add (much like java.beans.PropertyChangeSupport).
Parameters
-
ecl
- Instance of the listener class that will be invoked
finalizeRoot() Method
public void finalizeRoot()
Special method to clear the root in a finalizer. Should only be called from a finalizer.
fireElementChange(IElement, String, Object, Object) Method
public void fireElementChange(IElement
el,
String
sProperty,
Object
oldValue,
Object
newValue)
Fire ElementChangeEvent.ELEMENT_CHANGE_PROPERTY
element change event using the provided information.
Parameters
-
el
- Element that changed
-
sProperty
- Property within the element that changed
-
oldValue
- Old value of the property
-
newValue
- New value of the property
fireElementChange(IElement, IElement, int) Method
public void fireElementChange(IElement
el,
IElement
elChanged,
int changeType)
Fire ElementChangeEvent.ELEMENT_CHANGE_CHILDREN
element change event using the provided information.
Parameters
-
el
- The element whose children have changed
-
elChanged
- The element that was added or removed
-
changeType
- Either
ElementChangeEvent.CHILD_CHANGE_ADDED
or
ElementChangeEvent.CHILD_CHANGE_REMOVED
indicating whether the elChanged parameter represents an
addition or removal
fireElementChange(Collection) Method
public void fireElementChange(Collection
colChanges)
Fire ElementChangeEvent.ELEMENT_CHANGE_COLLECTION
element change event using the provided information.
Parameters
-
colChanges
- The collection of changes to submit
getRoot() Method
public IElement
getRoot()
Obtain the root of the element tree
Returns
- the stored root of the element tree
getRoot(IElementChangeListener) Method
public IElement
getRoot(IElementChangeListener
ecl)
Obtain the root of the element tree requesting notification if it is not available. This
method will try to get the current root and also add the given listener. It is guaranteed
to do so in such a way that the root cannot change until the listener has been registered.
This guarantees that the user will either get the new root, or get the old root, but immediately
thereafter receive notification of the new root.
Returns
- the stored root of the element tree
hasListeners() Method
public boolean hasListeners()
Return a boolean indicating whether or not this object currently has any listeners registered
Returns
- True if there are listeners for this object, false otherwise
removeElementChangeListener(IElementChangeListener) Method
public boolean removeElementChangeListener(IElementChangeListener
ecl)
Removes a listener from the list to be notified when changes occur.
Parameters
-
ecl
- Instance of the listener class to remove
Returns
- Boolean indicating whether or not the listener was found in the list of listeners. Note: if ecl is null, this
method returns false.
setRoot(IElement) Method
public void setRoot(IElement
elRoot)
Set the root of the element tree. Because this can be called from other threads,
the listeners are fired in an invokeLater.
Parameters
-
elRoot
- to store as the root
waitForRoot() Method
public IElement
waitForRoot()
Obtain the root of the element tree, and block until it's available. Excercise care
in using this method. It's almost always preferred to use getRoot(IElementChangeListener).
Returns
- the stored root of the element tree. This will never be null.