public final class IndirectPropertyChangeSupport
extends java.lang.Object
ValueModel
that holds the bean that in turn holds the observed properties.
If the target bean is null
, it won't report any changes.
It is recommended to remove all listener by invoking #removeAll
if the observed bean lives much longer than this change support instance.
As an alternative you may use event listener lists that are based
on WeakReference
s.
Constraints: All target bean classes must support bound properties, i. e. must provide the following pair of methods for registration of multicast property change event listeners:
public void addPropertyChangeListener(PropertyChangeListener x); public void removePropertyChangeListener(PropertyChangeListener x);and the following methods for listening on named properties:
public void addPropertyChangeListener(String, PropertyChangeListener x); public void removePropertyChangeListener(String, PropertyChangeListener x);
PropertyChangeEvent
,
PropertyChangeListener
,
PropertyChangeSupport
,
BeanAdapter
Constructor and Description |
---|
IndirectPropertyChangeSupport()
Constructs an IndirectPropertyChangeSupport that has no bean set.
|
IndirectPropertyChangeSupport(java.lang.Object bean)
Constructs an IndirectPropertyChangeSupport with the given initial bean.
|
IndirectPropertyChangeSupport(ValueModel beanChannel)
Constructs an IndirectPropertyChangeSupport using the given bean channel.
|
Modifier and Type | Method and Description |
---|---|
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds a PropertyChangeListener to the list of bean listeners.
|
void |
addPropertyChangeListener(java.lang.String propertyName,
java.beans.PropertyChangeListener listener)
Adds a PropertyChangeListener to the list of bean listeners for a
specific property.
|
java.lang.Object |
getBean()
Returns the Java Bean that holds the observed properties.
|
java.beans.PropertyChangeListener[] |
getPropertyChangeListeners()
Returns an array of all the property change listeners
registered on this component.
|
java.beans.PropertyChangeListener[] |
getPropertyChangeListeners(java.lang.String propertyName)
Returns an array of all the listeners which have been associated
with the named property.
|
void |
removeAll()
Removes all registered PropertyChangeListeners from
the current target bean - if any.
|
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Removes a PropertyChangeListener from the list of bean listeners.
|
void |
removePropertyChangeListener(java.lang.String propertyName,
java.beans.PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list for a specific
property.
|
void |
setBean(java.lang.Object newBean)
Sets a new Java Bean as holder of the observed properties.
|
public IndirectPropertyChangeSupport()
public IndirectPropertyChangeSupport(java.lang.Object bean)
bean
- the initial beanpublic IndirectPropertyChangeSupport(ValueModel beanChannel)
beanChannel
- the ValueModel that holds the beanpublic java.lang.Object getBean()
setBean(Object)
public void setBean(java.lang.Object newBean)
newBean
- the new holder of the observed propertiesgetBean()
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
If listener is null
, no exception is thrown and no action is performed.
listener
- the PropertyChangeListener to be addedremovePropertyChangeListener(PropertyChangeListener)
,
removePropertyChangeListener(String, PropertyChangeListener)
,
addPropertyChangeListener(String, PropertyChangeListener)
,
getPropertyChangeListeners()
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
If listener is null
, no exception is thrown and no action is performed.
listener
- the PropertyChangeListener to be removedaddPropertyChangeListener(PropertyChangeListener)
,
addPropertyChangeListener(String, PropertyChangeListener)
,
removePropertyChangeListener(String, PropertyChangeListener)
,
getPropertyChangeListeners()
public void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
Note that if the bean is inheriting a bound property, then no event will be fired in response to a change in the inherited property.
If listener is null
, no exception is thrown and no action is performed.
propertyName
- one of the property names listed abovelistener
- the PropertyChangeListener to be addedremovePropertyChangeListener(String, PropertyChangeListener)
,
addPropertyChangeListener(String, PropertyChangeListener)
,
getPropertyChangeListeners(String)
public void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
If listener is null
, no exception is thrown and no action is performed.
propertyName
- a valid property namelistener
- the PropertyChangeListener to be removedaddPropertyChangeListener(String, PropertyChangeListener)
,
removePropertyChangeListener(PropertyChangeListener)
,
getPropertyChangeListeners(String)
public java.beans.PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener
s
or an empty array if no property change
listeners are currently registeredaddPropertyChangeListener(PropertyChangeListener)
,
removePropertyChangeListener(PropertyChangeListener)
,
getPropertyChangeListeners(String)
,
PropertyChangeSupport.getPropertyChangeListeners()
public java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String propertyName)
propertyName
- the name of the property to lookup listenersPropertyChangeListeners
associated with
the named property or an empty array if no listeners have
been addedaddPropertyChangeListener(String, PropertyChangeListener)
,
removePropertyChangeListener(String, PropertyChangeListener)
,
getPropertyChangeListeners()
public void removeAll()
Copyright © 2002-2010 JGoodies Karsten Lentzsch. All Rights Reserved.