Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.jgoodies.binding.beans
Class Model

    java.lang.Object
      com.jgoodies.common.bean.AbstractBean
          com.jgoodies.binding.beans.Model

All Implemented Interfaces:
  com.jgoodies.common.bean.ObservableBean, com.jgoodies.common.bean.ObservableBean2, Serializable

Direct Known Subclasses:
  AbstractValueModel, BeanAdapter, ChangeTracker, IndirectListModel, PresentationModel

    public abstract class Model

extends com.jgoodies.common.bean.AbstractBean

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`.

Version:
  $Revision: 1.22 $
Author:
  Karsten Lentzsch
See Also:
  `Model`, `PropertyChangeEvent`, `PropertyChangeListener`, `PropertyChangeSupport`, `ExtendedPropertyChangeSupport`, `VetoableChangeListener`, `VetoableChangeSupport`, Serialized Form

Field Summary

Fields inherited from class com.jgoodies.common.bean.AbstractBean
`changeSupport`

Constructor Summary
`Model()`

Method Summary
`protected PropertyChangeSupport` | `createPropertyChangeSupport(Object bean)` Creates and returns a PropertyChangeSupport for the given bean.
`protected void` | `firePropertyChange(String propertyName, Object oldValue, Object newValue, boolean checkIdentity)` Support for reporting bound property changes for Object properties.

Methods inherited from class com.jgoodies.common.bean.AbstractBean
`addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, fireMultiplePropertiesChanged, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Model

    public Model()

Method Detail

### createPropertyChangeSupport

    protected PropertyChangeSupport createPropertyChangeSupport(Object bean)

  Creates and returns a PropertyChangeSupport for the given bean. Invoked by the first call to `AbstractBean.addPropertyChangeListener(java.beans.PropertyChangeListener)` when lazily creating the sole change support instance used throughout this bean.

  This implementation creates an extended change support that allows to configure whether the old and new value are compared with `==` or `equals`.

  Overrides:
    `createPropertyChangeSupport` in class `com.jgoodies.common.bean.AbstractBean`
  Parameters:
    `bean` - the bean to create a change support for
  Returns:
    the new change support

### firePropertyChange

    protected final void firePropertyChange(String propertyName,
                                            Object oldValue,
                                            Object newValue,
                                            boolean checkIdentity)

  Support for reporting bound property changes for Object properties. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent to any registered PropertyChangeListeners.

  The boolean parameter specifies whether the old and new value are compared with `==` or `equals`.

  Parameters:
    `propertyName` - the property whose value has changed
    `oldValue` - the property's previous value
    `newValue` - the property's new value
    `checkIdentity` - true to check differences using `==` false to use `equals`.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2011 JGoodies Karsten Lentzsch. All Rights Reserved.