| java.lang.Object com.jgoodies.binding.beans.Model com.jgoodies.binding.util.ChangeTracker
ChangeTracker | final public class ChangeTracker extends Model (Code) | | Tracks changes in a set of bound bean properties. The tracker itself
provides a read-only bound bean property changed that indicates
whether one of the observed properties has changed. The changed state
can be reset to false using #reset .
The tracker can observe readable bound bean properties if and only if
the bean provides the optional support for listening on named properties
as described in section 7.4.5 of the
Java Bean
Specification. The bean class must provide the following pair of methods:
public void addPropertyChangeListener(String name, PropertyChangeListener l);
public void removePropertyChangeListener(String name, PropertyChangeListener l);
Example: ChangeTracker tracker = new ChangeTracker();
tracker.observe(address, "street");
tracker.observe(address, "city");
tracker.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
System.out.println("Change state: " + evt.getNewValue());
}
});
// Change the first ValueModel
System.out.println(tracker.isChanged()); // Prints "false"
address.setStreet("Belsenplatz"); // Prints "Change state: true"
System.out.println(tracker.isChanged()); // Prints "true"
tracker.reset(); // Prints "Change state: false"
System.out.println(tracker.isChanged()); // Prints "false"
Note: The classes BeanAdapter and
PresentationModel already provide support for tracking changes.
Typical binding code can use these classes and there seems to be no need
to use the ChangeTracker.
author: Karsten Lentzsch version: $Revision: 1.3 $ See Also: ValueModel |
Field Summary | |
final public static String | PROPERTYNAME_CHANGED The name of the read-only bound bean property that
indicates whether one of the observed properties has changed. |
Constructor Summary | |
public | ChangeTracker() Constructs a change tracker with change state set to false . |
Method Summary | |
public boolean | isChanged() Answers whether one of the registered ValueModels has changed
since this tracker has been reset last time. | public void | observe(Object bean, String propertyName) Observes the specified readable bound bean property in the given bean. | public void | observe(ValueModel valueModel) Observes value changes in the given ValueModel. | public void | reset() Resets this tracker's changed state to false . | public void | retractInterestFor(Object bean, String propertyName) Retracts interest for the specified readable bound bean property
in the given bean. | public void | retractInterestFor(ValueModel valueModel) Retracts interest for value changes in the given ValueModel. |
PROPERTYNAME_CHANGED | final public static String PROPERTYNAME_CHANGED(Code) | | The name of the read-only bound bean property that
indicates whether one of the observed properties has changed.
See Also: ChangeTracker.isChanged() |
ChangeTracker | public ChangeTracker()(Code) | | Constructs a change tracker with change state set to false .
|
isChanged | public boolean isChanged()(Code) | | Answers whether one of the registered ValueModels has changed
since this tracker has been reset last time.
true if an observed property has changed since the last reset |
reset | public void reset()(Code) | | Resets this tracker's changed state to false .
|
Methods inherited from com.jgoodies.binding.beans.Model | final public synchronized void addPropertyChangeListener(PropertyChangeListener listener)(Code)(Java Doc) final public synchronized void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)(Code)(Java Doc) final public synchronized void addVetoableChangeListener(VetoableChangeListener listener)(Code)(Java Doc) final public synchronized void addVetoableChangeListener(String propertyName, VetoableChangeListener listener)(Code)(Java Doc) final protected boolean equals(Object o1, Object o2)(Code)(Java Doc) final protected void fireIndexedPropertyChange(String propertyName, int index, Object oldValue, Object newValue)(Code)(Java Doc) final protected void fireIndexedPropertyChange(String propertyName, int index, int oldValue, int newValue)(Code)(Java Doc) final protected void fireIndexedPropertyChange(String propertyName, int index, boolean oldValue, boolean newValue)(Code)(Java Doc) final protected void fireMultiplePropertiesChanged()(Code)(Java Doc) final protected void firePropertyChange(PropertyChangeEvent event)(Code)(Java Doc) final protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)(Code)(Java Doc) final protected void firePropertyChange(String propertyName, Object oldValue, Object newValue, boolean checkIdentity)(Code)(Java Doc) final protected void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)(Code)(Java Doc) final protected void firePropertyChange(String propertyName, double oldValue, double newValue)(Code)(Java Doc) final protected void firePropertyChange(String propertyName, float oldValue, float newValue)(Code)(Java Doc) final protected void firePropertyChange(String propertyName, int oldValue, int newValue)(Code)(Java Doc) final protected void firePropertyChange(String propertyName, long oldValue, long newValue)(Code)(Java Doc) final protected void fireVetoableChange(PropertyChangeEvent event) throws PropertyVetoException(Code)(Java Doc) final protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue) throws PropertyVetoException(Code)(Java Doc) final protected void fireVetoableChange(String propertyName, boolean oldValue, boolean newValue) throws PropertyVetoException(Code)(Java Doc) final protected void fireVetoableChange(String propertyName, double oldValue, double newValue) throws PropertyVetoException(Code)(Java Doc) final protected void fireVetoableChange(String propertyName, int oldValue, int newValue) throws PropertyVetoException(Code)(Java Doc) final protected void fireVetoableChange(String propertyName, float oldValue, float newValue) throws PropertyVetoException(Code)(Java Doc) final protected void fireVetoableChange(String propertyName, long oldValue, long newValue) throws PropertyVetoException(Code)(Java Doc) final public synchronized PropertyChangeListener[] getPropertyChangeListeners()(Code)(Java Doc) final public synchronized PropertyChangeListener[] getPropertyChangeListeners(String propertyName)(Code)(Java Doc) final public synchronized VetoableChangeListener[] getVetoableChangeListeners()(Code)(Java Doc) final public synchronized VetoableChangeListener[] getVetoableChangeListeners(String propertyName)(Code)(Java Doc) final public synchronized void removePropertyChangeListener(PropertyChangeListener listener)(Code)(Java Doc) final public synchronized void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)(Code)(Java Doc) final public synchronized void removeVetoableChangeListener(VetoableChangeListener listener)(Code)(Java Doc) final public synchronized void removeVetoableChangeListener(String propertyName, VetoableChangeListener listener)(Code)(Java Doc)
|
|
|