de.uni_paderborn.fujaba.basic
Class FujabaPropertyChangeSupport

java.lang.Object
  extended byjava.beans.PropertyChangeSupport
      extended byde.uni_paderborn.fujaba.basic.FujabaPropertyChangeSupport
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
CascadedPropertyChangeSupport

public class FujabaPropertyChangeSupport
extends java.beans.PropertyChangeSupport

This subclass of java.beans.PropertyChangeSupport is identical in functionality -- it sacrifices thread-safety (not a Swing concern) for reduce memory consumption, which helps performance (both big Swing concerns). Most of the overridden methods are only necessary because all of PropertyChangeSupport's instance data is private, without accessor methods. Different to SwingPropertyChangeSupport this class does not register a listener more than once for a property. If the listener is registered for specific properties and shall be added for all properties, the entries in the specific listener lists are deleted first.

Additionally this class allows querying for the list of registered listeners according to Fujaba Styleguide.

Version:
$Revision: 1.17.2.2 $
Author:
$Author: lowende $
See Also:
Serialized Form

Constructor Summary
FujabaPropertyChangeSupport(java.lang.Object sourceBean)
          Constructs a FujabaPropertyChangeSupport object.
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
          Add a PropertyChangeListener to the listener list.
 void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
          Add a PropertyChangeListener for a specific property.
 boolean addToListeners(java.beans.PropertyChangeListener listener)
          if listener is not yet in listener-list it is added.
 boolean addToListeners(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
          add listener if listsner is not already added as global listener or as listener for that property
 java.util.Iterator entriesOfChildren()
          No comment provided by developer, please add a comment to improve documentation.
 void firePropertyChange(java.beans.PropertyChangeEvent evt)
          Fire an existing PropertyChangeEvent to any registered listeners.
 void firePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
          Report a bound property update to any registered listeners.
 FujabaPropertyChangeSupport getFromChildren(java.lang.String propertyName)
          Get the fromChildren attribute of the FujabaPropertyChangeSupport object
 java.lang.Object getSource()
          Get the source attribute of the FujabaPropertyChangeSupport object
 boolean hasInAllListeners(java.beans.PropertyChangeListener listener)
          return true if listener is in global list or in child-list for propertyName, or in any child-list if propertyName is null
 boolean hasInListeners(java.beans.PropertyChangeListener listener)
          No comment provided by developer, please add a comment to improve documentation.
 boolean hasInListeners(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
          return true if listener is in child-list for propertyName, or in any child-list if propertyName is null
 boolean hasListeners(java.lang.String propertyName)
          Check if there are any listeners for a specific property.
 java.util.Iterator iteratorOfAllListeners()
          iterator of all listeners in global list and child-lists
 java.util.Iterator iteratorOfChildren()
          No comment provided by developer, please add a comment to improve documentation.
 java.util.Iterator iteratorOfListeners()
          iterator of global listeners
 java.util.Iterator iteratorOfListeners(java.lang.String propertyName)
          iterator of listeners for propertyName or for all propertyNames if propertyName is null
 java.util.Iterator keysOfChildren()
          No comment provided by developer, please add a comment to improve documentation.
 boolean removeFromListeners(java.beans.PropertyChangeListener listener)
          remove listener both from general listener list and child-lists
 boolean removeFromListeners(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
          remove named listener from child-list. if propertyName is null, remove from all child-lists
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
          Remove a PropertyChangeListener from the listener list.
 void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
          Remove a PropertyChangeListener for a specific property.
 void removeYou()
          No comment provided by developer, please add a comment to improve documentation.
 boolean setSource(java.lang.Object source)
          Sets the source attribute of the FujabaPropertyChangeSupport object
 int sizeOfAllListeners()
          No comment provided by developer, please add a comment to improve documentation.
 int sizeOfChildren()
          No comment provided by developer, please add a comment to improve documentation.
 int sizeOfListeners()
          No comment provided by developer, please add a comment to improve documentation.
 int sizeOfListeners(java.lang.String propertyName)
          No comment provided by developer, please add a comment to improve documentation.
 
Methods inherited from class java.beans.PropertyChangeSupport
firePropertyChange, firePropertyChange, getPropertyChangeListeners, getPropertyChangeListeners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FujabaPropertyChangeSupport

public FujabaPropertyChangeSupport(java.lang.Object sourceBean)
Constructs a FujabaPropertyChangeSupport object.

Parameters:
sourceBean - The bean to be given as the source for any events.
Method Detail

setSource

public boolean setSource(java.lang.Object source)
Sets the source attribute of the FujabaPropertyChangeSupport object

Parameters:
source - The new source value
Returns:
No description provided

getSource

public java.lang.Object getSource()
Get the source attribute of the FujabaPropertyChangeSupport object

Returns:
The source value

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Add a PropertyChangeListener to the listener list. The listener is registered for all properties.

Parameters:
listener - The PropertyChangeListener to be added

addToListeners

public boolean addToListeners(java.beans.PropertyChangeListener listener)
if listener is not yet in listener-list it is added. All occurences of listener in child-lists are removed

Parameters:
listener - The object added.
Returns:
No description provided

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Remove a PropertyChangeListener from the listener list. This removes a PropertyChangeListener that was registered for all properties.

Parameters:
listener - The PropertyChangeListener to be removed

removeFromListeners

public boolean removeFromListeners(java.beans.PropertyChangeListener listener)
remove listener both from general listener list and child-lists

Parameters:
listener - No description provided
Returns:
No description provided

addPropertyChangeListener

public void addPropertyChangeListener(java.lang.String propertyName,
                                      java.beans.PropertyChangeListener listener)
Add a PropertyChangeListener for a specific property. The listener will be invoked only when a call on firePropertyChange names that specific property.

Parameters:
propertyName - The name of the property to listen on.
listener - The PropertyChangeListener to be added

addToListeners

public boolean addToListeners(java.lang.String propertyName,
                              java.beans.PropertyChangeListener listener)
add listener if listsner is not already added as global listener or as listener for that property

Parameters:
propertyName - The object added.
listener - The object added.
Returns:
No description provided

removePropertyChangeListener

public void removePropertyChangeListener(java.lang.String propertyName,
                                         java.beans.PropertyChangeListener listener)
Remove a PropertyChangeListener for a specific property.

Parameters:
propertyName - The name of the property that was listened on.
listener - The PropertyChangeListener to be removed

removeFromListeners

public boolean removeFromListeners(java.lang.String propertyName,
                                   java.beans.PropertyChangeListener listener)
remove named listener from child-list. if propertyName is null, remove from all child-lists

Parameters:
propertyName - No description provided
listener - No description provided
Returns:
No description provided

hasListeners

public boolean hasListeners(java.lang.String propertyName)
Check if there are any listeners for a specific property.

Parameters:
propertyName - the property name.
Returns:
true if there are ore or more listeners for the given property

hasInListeners

public boolean hasInListeners(java.beans.PropertyChangeListener listener)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
listener - No description provided
Returns:
No description provided

hasInListeners

public boolean hasInListeners(java.lang.String propertyName,
                              java.beans.PropertyChangeListener listener)
return true if listener is in child-list for propertyName, or in any child-list if propertyName is null

Parameters:
propertyName - No description provided
listener - No description provided
Returns:
No description provided

hasInAllListeners

public boolean hasInAllListeners(java.beans.PropertyChangeListener listener)
return true if listener is in global list or in child-list for propertyName, or in any child-list if propertyName is null

Parameters:
listener - No description provided
Returns:
No description provided

iteratorOfListeners

public java.util.Iterator iteratorOfListeners()
iterator of global listeners

Returns:
No description provided

iteratorOfAllListeners

public java.util.Iterator iteratorOfAllListeners()
iterator of all listeners in global list and child-lists

Returns:
No description provided

iteratorOfListeners

public java.util.Iterator iteratorOfListeners(java.lang.String propertyName)
iterator of listeners for propertyName or for all propertyNames if propertyName is null

Parameters:
propertyName - No description provided
Returns:
No description provided

sizeOfListeners

public int sizeOfListeners()
No comment provided by developer, please add a comment to improve documentation.

Returns:
No description provided

sizeOfAllListeners

public int sizeOfAllListeners()
No comment provided by developer, please add a comment to improve documentation.

Returns:
No description provided

sizeOfListeners

public int sizeOfListeners(java.lang.String propertyName)
No comment provided by developer, please add a comment to improve documentation.

Parameters:
propertyName - No description provided
Returns:
No description provided

iteratorOfChildren

public java.util.Iterator iteratorOfChildren()
No comment provided by developer, please add a comment to improve documentation.

Returns:
No description provided

keysOfChildren

public java.util.Iterator keysOfChildren()
No comment provided by developer, please add a comment to improve documentation.

Returns:
No description provided

entriesOfChildren

public java.util.Iterator entriesOfChildren()
No comment provided by developer, please add a comment to improve documentation.

Returns:
No description provided

getFromChildren

public FujabaPropertyChangeSupport getFromChildren(java.lang.String propertyName)
Get the fromChildren attribute of the FujabaPropertyChangeSupport object

Parameters:
propertyName - No description provided
Returns:
The fromChildren value

sizeOfChildren

public int sizeOfChildren()
No comment provided by developer, please add a comment to improve documentation.

Returns:
No description provided

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               java.lang.Object oldValue,
                               java.lang.Object newValue)
Report a bound property update to any registered listeners. No event is fired if old and new are equal and non-null.

Parameters:
propertyName - The programmatic name of the property that was changed.
oldValue - The old value of the property.
newValue - The new value of the property.

firePropertyChange

public void firePropertyChange(java.beans.PropertyChangeEvent evt)
Fire an existing PropertyChangeEvent to any registered listeners. No event is fired if the given event's old and new values are equal and non-null.

Parameters:
evt - The PropertyChangeEvent object.

removeYou

public void removeYou()
No comment provided by developer, please add a comment to improve documentation.