|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jgoodies.binding.beans.Model
public abstract class Model
An abstract superclass that minimizes the effort required to provide change support for bound and constrained Bean properties. This class follows the conventions and recommendations as described in the Java Bean Specification.
Uses class ExtendedPropertyChangeSupport
,
to enable the ==
or #equals
test when
changing values.
TODO: Consider adding a method #fireChange
that invokes
#firePropertyChange
if and only if
new value != old value
. The background is, that
#firePropertyChange
must fire an event
if new value==null==old value
.
Observable
,
PropertyChangeEvent
,
PropertyChangeListener
,
PropertyChangeSupport
,
ExtendedPropertyChangeSupport
,
VetoableChangeListener
,
VetoableChangeSupport
,
Serialized FormConstructor Summary | |
---|---|
Model()
|
Method Summary | |
---|---|
void |
addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list. |
void |
addPropertyChangeListener(String propertyName,
PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list for a specific property. |
void |
addVetoableChangeListener(String propertyName,
VetoableChangeListener listener)
Adds a VetoableChangeListener to the listener list for a specific property. |
void |
addVetoableChangeListener(VetoableChangeListener listener)
Adds a VetoableChangeListener to the listener list. |
protected boolean |
equals(Object o1,
Object o2)
Checks and answers if the two objects are both null or equal. |
protected void |
fireIndexedPropertyChange(String propertyName,
int index,
boolean oldValue,
boolean newValue)
Report a boolean bound indexed property update
to any registered listeners. |
protected void |
fireIndexedPropertyChange(String propertyName,
int index,
int oldValue,
int newValue)
Report an int bound indexed property update
to any registered listeners. |
protected void |
fireIndexedPropertyChange(String propertyName,
int index,
Object oldValue,
Object newValue)
Report a bound indexed property update to any registered listeners. |
protected void |
fireMultiplePropertiesChanged()
Indicates that an arbitrary set of bound properties have changed. |
protected void |
firePropertyChange(PropertyChangeEvent event)
General support for reporting bound property changes. |
protected void |
firePropertyChange(String propertyName,
boolean oldValue,
boolean newValue)
Support for reporting bound property changes for boolean properties. |
protected void |
firePropertyChange(String propertyName,
double oldValue,
double newValue)
Support for reporting bound property changes for integer properties. |
protected void |
firePropertyChange(String propertyName,
float oldValue,
float newValue)
Support for reporting bound property changes for integer properties. |
protected void |
firePropertyChange(String propertyName,
int oldValue,
int newValue)
Support for reporting bound property changes for integer properties. |
protected void |
firePropertyChange(String propertyName,
long oldValue,
long newValue)
Support for reporting bound property changes for integer properties. |
protected void |
firePropertyChange(String propertyName,
Object oldValue,
Object newValue)
Support for reporting bound property changes for Object properties. |
protected void |
firePropertyChange(String propertyName,
Object oldValue,
Object newValue,
boolean checkIdentity)
Support for reporting bound property changes for Object properties. |
protected void |
fireVetoableChange(PropertyChangeEvent event)
General support for reporting constrained property changes. |
protected void |
fireVetoableChange(String propertyName,
boolean oldValue,
boolean newValue)
Support for reporting changes for constrained boolean properties. |
protected void |
fireVetoableChange(String propertyName,
double oldValue,
double newValue)
Support for reporting changes for constrained integer properties. |
protected void |
fireVetoableChange(String propertyName,
float oldValue,
float newValue)
Support for reporting changes for constrained integer properties. |
protected void |
fireVetoableChange(String propertyName,
int oldValue,
int newValue)
Support for reporting changes for constrained integer properties. |
protected void |
fireVetoableChange(String propertyName,
long oldValue,
long newValue)
Support for reporting changes for constrained integer properties. |
protected void |
fireVetoableChange(String propertyName,
Object oldValue,
Object newValue)
Support for reporting changes for constrained Object properties. |
PropertyChangeListener[] |
getPropertyChangeListeners()
Returns an array of all the property change listeners registered on this component. |
PropertyChangeListener[] |
getPropertyChangeListeners(String propertyName)
Returns an array of all the listeners which have been associated with the named property. |
VetoableChangeListener[] |
getVetoableChangeListeners()
Returns an array of all the property change listeners registered on this component. |
VetoableChangeListener[] |
getVetoableChangeListeners(String propertyName)
Returns an array of all the listeners which have been associated with the named property. |
void |
removePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list. |
void |
removePropertyChangeListener(String propertyName,
PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list for a specific property. |
void |
removeVetoableChangeListener(String propertyName,
VetoableChangeListener listener)
Removes a VetoableChangeListener from the listener list for a specific property. |
void |
removeVetoableChangeListener(VetoableChangeListener listener)
Removes a VetoableChangeListener from the listener list. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Model()
Method Detail |
---|
public final void addPropertyChangeListener(PropertyChangeListener listener)
If listener is null
, no exception is thrown and no action is performed.
addPropertyChangeListener
in interface Observable
listener
- the PropertyChangeListener to be addedremovePropertyChangeListener(PropertyChangeListener)
,
removePropertyChangeListener(String, PropertyChangeListener)
,
addPropertyChangeListener(String, PropertyChangeListener)
,
getPropertyChangeListeners()
public final void removePropertyChangeListener(PropertyChangeListener listener)
If listener is null
, no exception is thrown and no action is performed.
removePropertyChangeListener
in interface Observable
listener
- the PropertyChangeListener to be removedaddPropertyChangeListener(PropertyChangeListener)
,
addPropertyChangeListener(String, PropertyChangeListener)
,
removePropertyChangeListener(String, PropertyChangeListener)
,
getPropertyChangeListeners()
public final void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
Note that if this Model 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 final void removePropertyChangeListener(String propertyName, 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 final void addVetoableChangeListener(VetoableChangeListener listener)
If listener is null
, no exception is thrown and no action is
performed.
listener
- the VetoableChangeListener to be addedremoveVetoableChangeListener(String, VetoableChangeListener)
,
addVetoableChangeListener(String, VetoableChangeListener)
,
getVetoableChangeListeners()
public final void removeVetoableChangeListener(VetoableChangeListener listener)
If listener is null
, no exception is thrown and no action is performed.
listener
- the VetoableChangeListener to be removedaddVetoableChangeListener(String, VetoableChangeListener)
,
removeVetoableChangeListener(String, VetoableChangeListener)
,
getVetoableChangeListeners()
public final void addVetoableChangeListener(String propertyName, VetoableChangeListener listener)
Note that if this Model 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 VetoableChangeListener to be addedremoveVetoableChangeListener(String, VetoableChangeListener)
,
addVetoableChangeListener(String, VetoableChangeListener)
,
getVetoableChangeListeners(String)
public final void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)
If listener is null
, no exception is thrown and no action is performed.
propertyName
- a valid property namelistener
- the VetoableChangeListener to be removedaddVetoableChangeListener(String, VetoableChangeListener)
,
removeVetoableChangeListener(VetoableChangeListener)
,
getVetoableChangeListeners(String)
public final PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener
s
or an empty array if no property change
listeners are currently registeredaddPropertyChangeListener(PropertyChangeListener)
,
removePropertyChangeListener(PropertyChangeListener)
,
getPropertyChangeListeners(String)
,
PropertyChangeSupport.getPropertyChangeListeners()
public final PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
propertyName
- the name of the property to lookup listeners
PropertyChangeListeners
associated with
the named property or an empty array if no listeners have
been addedaddPropertyChangeListener(String, PropertyChangeListener)
,
removePropertyChangeListener(String, PropertyChangeListener)
,
getPropertyChangeListeners()
public final VetoableChangeListener[] getVetoableChangeListeners()
VetoableChangeListener
s
or an empty array if no property change
listeners are currently registeredaddVetoableChangeListener(VetoableChangeListener)
,
removeVetoableChangeListener(VetoableChangeListener)
,
getVetoableChangeListeners(String)
,
VetoableChangeSupport.getVetoableChangeListeners()
public final VetoableChangeListener[] getVetoableChangeListeners(String propertyName)
propertyName
- the name of the property to lookup listeners
VetoableChangeListeners
associated with
the named property or an empty array if no listeners have
been addedaddVetoableChangeListener(String, VetoableChangeListener)
,
removeVetoableChangeListener(String, VetoableChangeListener)
,
getVetoableChangeListeners()
protected final void firePropertyChange(PropertyChangeEvent event)
Most bean setters will invoke the fireXXX methods that get a property name and the old and new value. However some frameworks and setters may prefer to use this general method. Also, this method allows to fire IndexedPropertyChangeEvents that have been introduced in Java 5.
event
- describes the property changeprotected final void firePropertyChange(String propertyName, Object oldValue, Object newValue)
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new valueprotected final void firePropertyChange(String propertyName, Object oldValue, Object newValue, boolean checkIdentity)
The boolean parameter specifies whether differences between the old
and new value are tested using ==
or #equals
.
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new valuecheckIdentity
- true to check differences using ==
false to use #equals
.protected final void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new valueprotected final void firePropertyChange(String propertyName, double oldValue, double newValue)
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new valueprotected final void firePropertyChange(String propertyName, float oldValue, float newValue)
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new valueprotected final void firePropertyChange(String propertyName, int oldValue, int newValue)
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new valueprotected final void firePropertyChange(String propertyName, long oldValue, long newValue)
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new valueprotected final void fireMultiplePropertiesChanged()
null
to any registered PropertyChangeListeners.
PropertyChangeEvent
protected final void fireIndexedPropertyChange(String propertyName, int index, Object oldValue, Object newValue)
No event is fired if old and new values are equal and non-null.
propertyName
- The programmatic name of the property that
was changed.index
- index of the property element that was changed.oldValue
- The old value of the property.newValue
- The new value of the property.protected final void fireIndexedPropertyChange(String propertyName, int index, int oldValue, int newValue)
int
bound indexed property update
to any registered listeners.No event is fired if old and new values are equal and non-null.
This is merely a convenience wrapper around the more general fireIndexedPropertyChange method which takes Object values.
propertyName
- The programmatic name of the property that
was changed.index
- index of the property element that was changed.oldValue
- The old value of the property.newValue
- The new value of the property.protected final void fireIndexedPropertyChange(String propertyName, int index, boolean oldValue, boolean newValue)
boolean
bound indexed property update
to any registered listeners.No event is fired if old and new values are equal and non-null.
This is merely a convenience wrapper around the more general fireIndexedPropertyChange method which takes Object values.
propertyName
- The programmatic name of the property that
was changed.index
- index of the property element that was changed.oldValue
- The old value of the property.newValue
- The new value of the property.protected final void fireVetoableChange(PropertyChangeEvent event) throws PropertyVetoException
Most bean setters will invoke the fireXXX methods that get a property name and the old and new value. However some frameworks and setters may prefer to use this general method. Also, this method allows to fire IndexedPropertyChangeEvents that have been introduced in Java 5.
event
- describes the property change
PropertyVetoException
- if a constrained property change is rejectedprotected final void fireVetoableChange(String propertyName, Object oldValue, Object newValue) throws PropertyVetoException
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new value
PropertyVetoException
- if a constrained property change is rejectedprotected final void fireVetoableChange(String propertyName, boolean oldValue, boolean newValue) throws PropertyVetoException
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new value
PropertyVetoException
- if a constrained property change is rejectedprotected final void fireVetoableChange(String propertyName, double oldValue, double newValue) throws PropertyVetoException
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new value
PropertyVetoException
- if a constrained property change is rejectedprotected final void fireVetoableChange(String propertyName, int oldValue, int newValue) throws PropertyVetoException
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new value
PropertyVetoException
- if a constrained property change is rejectedprotected final void fireVetoableChange(String propertyName, float oldValue, float newValue) throws PropertyVetoException
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new value
PropertyVetoException
- if a constrained property change is rejectedprotected final void fireVetoableChange(String propertyName, long oldValue, long newValue) throws PropertyVetoException
propertyName
- the property whose value has changedoldValue
- the property's previous valuenewValue
- the property's new value
PropertyVetoException
- if a constrained property change is rejectedprotected final boolean equals(Object o1, Object o2)
null
or equal.
o1
- the first object to compareo2
- the second object to compare
null
or equal
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |