public class

PropertyChangeSupport

extends Object
implements Serializable
java.lang.Object
   ↳ java.beans.PropertyChangeSupport

Class Overview

Manages a list of listeners to be notified when a property changes. Listeners subscribe to be notified of all property changes, or of changes to a single named property.

This class is thread safe. No locking is necessary when subscribing or unsubscribing listeners, or when publishing events. Callers should be careful when publishing events because listeners may not be thread safe.

Summary

Public Constructors
PropertyChangeSupport(Object sourceBean)
Creates a new instance that uses the source bean as source for any event.
Public Methods
void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
Subscribes listener to change notifications for the property named propertyName.
void addPropertyChangeListener(PropertyChangeListener listener)
Subscribes listener to change notifications for all properties.
void fireIndexedPropertyChange(String propertyName, int index, int oldValue, int newValue)
Fires a property change of an integer property with the given name.
void fireIndexedPropertyChange(String propertyName, int index, boolean oldValue, boolean newValue)
Fires a property change of a boolean property with the given name.
void fireIndexedPropertyChange(String propertyName, int index, Object oldValue, Object newValue)
Fires an IndexedPropertyChangeEvent with the given name, old value, new value and index.
void firePropertyChange(String propertyName, int oldValue, int newValue)
Fires a property change of an integer property with the given name.
void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
Fires a property change of a boolean property with the given name.
void firePropertyChange(PropertyChangeEvent event)
Publishes a property change event to all listeners of that property.
void firePropertyChange(String propertyName, Object oldValue, Object newValue)
Fires a PropertyChangeEvent with the given name, old value and new value.
PropertyChangeListener[] getPropertyChangeListeners()
Returns all subscribers.
PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
Returns the subscribers to be notified when propertyName changes.
boolean hasListeners(String propertyName)
Returns true if there are listeners registered to the property with the given name.
void removePropertyChangeListener(PropertyChangeListener listener)
Unsubscribes listener from change notifications for all properties.
void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
Unsubscribes listener from change notifications for the property named propertyName.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public PropertyChangeSupport (Object sourceBean)

Since: API Level 3

Creates a new instance that uses the source bean as source for any event.

Parameters
sourceBean the bean used as source for all events.

Public Methods

public void addPropertyChangeListener (String propertyName, PropertyChangeListener listener)

Since: API Level 3

Subscribes listener to change notifications for the property named propertyName. If the listener is already subscribed, it will receive an additional notification when the property changes. If the property name or listener is null, this method silently does nothing.

public void addPropertyChangeListener (PropertyChangeListener listener)

Since: API Level 3

Subscribes listener to change notifications for all properties. If the listener is already subscribed, it will receive an additional notification. If the listener is null, this method silently does nothing.

public void fireIndexedPropertyChange (String propertyName, int index, int oldValue, int newValue)

Since: API Level 3

Fires a property change of an integer property with the given name. If the old value and the new value are not null and equal the event will not be fired.

Parameters
propertyName the property name
index the index of the changed property
oldValue the old value
newValue the new value

public void fireIndexedPropertyChange (String propertyName, int index, boolean oldValue, boolean newValue)

Since: API Level 3

Fires a property change of a boolean property with the given name. If the old value and the new value are not null and equal the event will not be fired.

Parameters
propertyName the property name
index the index of the changed property
oldValue the old value
newValue the new value

public void fireIndexedPropertyChange (String propertyName, int index, Object oldValue, Object newValue)

Since: API Level 3

Fires an IndexedPropertyChangeEvent with the given name, old value, new value and index. As source the bean used to initialize this instance is used. If the old value and the new value are not null and equal the event will not be fired.

Parameters
propertyName the name of the property
index the index
oldValue the old value of the property
newValue the new value of the property

public void firePropertyChange (String propertyName, int oldValue, int newValue)

Since: API Level 3

Fires a property change of an integer property with the given name. If the old value and the new value are not null and equal the event will not be fired.

Parameters
propertyName the property name
oldValue the old value
newValue the new value

public void firePropertyChange (String propertyName, boolean oldValue, boolean newValue)

Since: API Level 3

Fires a property change of a boolean property with the given name. If the old value and the new value are not null and equal the event will not be fired.

Parameters
propertyName the property name
oldValue the old value
newValue the new value

public void firePropertyChange (PropertyChangeEvent event)

Since: API Level 3

Publishes a property change event to all listeners of that property. If the event's old and new values are equal (but non-null), no event will be published.

public void firePropertyChange (String propertyName, Object oldValue, Object newValue)

Since: API Level 3

Fires a PropertyChangeEvent with the given name, old value and new value. As source the bean used to initialize this instance is used. If the old value and the new value are not null and equal the event will not be fired.

Parameters
propertyName the name of the property
oldValue the old value of the property
newValue the new value of the property

public PropertyChangeListener[] getPropertyChangeListeners ()

Since: API Level 3

Returns all subscribers. This includes both listeners subscribed to all property changes and listeners subscribed to a single property.

public PropertyChangeListener[] getPropertyChangeListeners (String propertyName)

Since: API Level 3

Returns the subscribers to be notified when propertyName changes. This includes both listeners subscribed to all property changes and listeners subscribed to the named property only.

public boolean hasListeners (String propertyName)

Since: API Level 3

Returns true if there are listeners registered to the property with the given name.

Parameters
propertyName the name of the property
Returns
  • true if there are listeners registered to that property, false otherwise.

public void removePropertyChangeListener (PropertyChangeListener listener)

Since: API Level 3

Unsubscribes listener from change notifications for all properties. If the listener has multiple subscriptions, it will receive one fewer notification when properties change. If the property name or listener is null or not subscribed, this method silently does nothing.

public void removePropertyChangeListener (String propertyName, PropertyChangeListener listener)

Since: API Level 3

Unsubscribes listener from change notifications for the property named propertyName. If multiple subscriptions exist for listener, it will receive one fewer notifications when the property changes. If the property name or listener is null or not subscribed, this method silently does nothing.