schmitzm.swing.event
Class PropertyChangeEmitter<E extends PropertyChangeListener>

java.lang.Object
  extended by schmitzm.swing.event.PropertyChangeEmitter<E>
Direct Known Subclasses:
StyledLayerSelectionModel

public abstract class PropertyChangeEmitter<E extends PropertyChangeListener>
extends Object

This class provides a super class for all classes which initiates PropertyChangeEvents to PropertyChangeListeners.

Author:
Martin Schmitz (University of Bonn/Germany)

Field Summary
protected  boolean eventFiringEnabled
          Flag to (temporary) disable firing events.
protected  Vector<E> listenerList
          Holds the connected listeners.
 
Constructor Summary
PropertyChangeEmitter()
           
 
Method Summary
 void addListener(E listener)
          Adds a listener to the listener list.
protected  void firePropertyChangeEvent(PropertyChangeEvent e, PropertyChangeListener... exceptListeners)
          Fires the PropertyChangeEvent to all connected PropertyChangeListeners except the specified ones.
 boolean removeListener(E listener)
          Removes a listener from the listener list.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

listenerList

protected Vector<E extends PropertyChangeListener> listenerList
Holds the connected listeners.


eventFiringEnabled

protected boolean eventFiringEnabled
Flag to (temporary) disable firing events. Useful if several changes should be performed and fired collectively.

Constructor Detail

PropertyChangeEmitter

public PropertyChangeEmitter()
Method Detail

addListener

public void addListener(E listener)
Adds a listener to the listener list.

Parameters:
listener - a listener

removeListener

public boolean removeListener(E listener)
Removes a listener from the listener list.

Parameters:
listener - a listener

firePropertyChangeEvent

protected void firePropertyChangeEvent(PropertyChangeEvent e,
                                       PropertyChangeListener... exceptListeners)
Fires the PropertyChangeEvent to all connected PropertyChangeListeners except the specified ones. Does nothing if eventFiringEnabled is set to false.

Parameters:
e - an event
exceptListeners - listeners which are not notified (useful to avoid event circles)