com.jgoodies.validation.util
Class AbstractValidationResultModel

java.lang.Object
  extended by com.jgoodies.validation.util.AbstractValidationResultModel
All Implemented Interfaces:
ValidationResultModel
Direct Known Subclasses:
DefaultValidationResultModel, DelayedValidationResultModel

public abstract class AbstractValidationResultModel
extends Object
implements ValidationResultModel

An abstract class that minimizes the effort required to implement the ValidationResultModel interface. It provides a property change support behavior to add and remove methods to convert boolean, double, float, int, and long to their corresponding Object values.

Subclasses must implement getResult() and setResult(ValidationResult) to get and set the observable validation result. #getResult always returns a non-null result, #setResult accepts only non-null results.

Since:
1.0.1
Version:
$Revision: 1.8 $
Author:
Karsten Lentzsch
See Also:
DefaultValidationResultModel

Field Summary
 
Fields inherited from interface com.jgoodies.validation.ValidationResultModel
PROPERTYNAME_ERRORS, PROPERTYNAME_MESSAGES, PROPERTYNAME_RESULT, PROPERTYNAME_SEVERITY
 
Constructor Summary
AbstractValidationResultModel()
           
 
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.
protected  void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
          Support for reporting bound property changes for boolean properties.
protected  void firePropertyChange(String propertyName, Object oldValue, Object newValue)
          Support for reporting bound property changes for Object properties.
protected  void firePropertyChanges(ValidationResult oldResult, ValidationResult newResult)
          Notifies all registered listeners about changes of the result itself and the properties for severity, errors and messages.
 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.
 Severity getSeverity()
          Looks up and returns the severity of the validation result, one of error, warning, or null.
 boolean hasErrors()
          Checks and answers whether the validation result has errors.
 boolean hasMessages()
          Checks and answers whether the validation result has messages.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.jgoodies.validation.ValidationResultModel
getResult, setResult
 

Constructor Detail

AbstractValidationResultModel

public AbstractValidationResultModel()
Method Detail

getSeverity

public final Severity getSeverity()
Looks up and returns the severity of the validation result, one of error, warning, or null.

Specified by:
getSeverity in interface ValidationResultModel
Returns:
the severity of the validation result
See Also:
ValidationResultModel.hasErrors(), ValidationResultModel.hasMessages()

hasErrors

public final boolean hasErrors()
Checks and answers whether the validation result has errors.

Specified by:
hasErrors in interface ValidationResultModel
Returns:
true if the validation result has errors, false otherwise
See Also:
ValidationResultModel.getSeverity(), ValidationResultModel.hasMessages()

hasMessages

public final boolean hasMessages()
Checks and answers whether the validation result has messages.

Specified by:
hasMessages in interface ValidationResultModel
Returns:
true if the validation result has messages, false otherwise
See Also:
ValidationResultModel.getSeverity(), ValidationResultModel.hasErrors()

firePropertyChanges

protected final void firePropertyChanges(ValidationResult oldResult,
                                         ValidationResult newResult)
Notifies all registered listeners about changes of the result itself and the properties for severity, errors and messages. Useful to fire all changes in a #setResult implementation.

Parameters:
oldResult - the old validation result
newResult - the new validation result
Throws:
NullPointerException - if the old or new result is null
See Also:
ValidationResultModel.setResult(ValidationResult), ValidationResultModelContainer.setResult(ValidationResult)

addPropertyChangeListener

public final void addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list. The listener is registered for all bound properties of this class.

If listener is null, no exception is thrown and no action is performed.

Specified by:
addPropertyChangeListener in interface ValidationResultModel
Parameters:
listener - the PropertyChangeListener to be added
See Also:
removePropertyChangeListener(PropertyChangeListener), getPropertyChangeListeners(), addPropertyChangeListener(String, PropertyChangeListener)

removePropertyChangeListener

public final void removePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list. This method should be used to remove PropertyChangeListeners that were registered for all bound properties of this class.

If listener is null, no exception is thrown and no action is performed.

Specified by:
removePropertyChangeListener in interface ValidationResultModel
Parameters:
listener - the PropertyChangeListener to be removed
See Also:
addPropertyChangeListener(PropertyChangeListener), getPropertyChangeListeners(), removePropertyChangeListener(String, PropertyChangeListener)

addPropertyChangeListener

public final void addPropertyChangeListener(String propertyName,
                                            PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list for a specific property. The specified property may be user-defined.

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.

Specified by:
addPropertyChangeListener in interface ValidationResultModel
Parameters:
propertyName - one of the property names listed above
listener - the PropertyChangeListener to be added
See Also:
removePropertyChangeListener(String, PropertyChangeListener), getPropertyChangeListeners(String), addPropertyChangeListener(String, PropertyChangeListener)

removePropertyChangeListener

public final void removePropertyChangeListener(String propertyName,
                                               PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list for a specific property. This method should be used to remove PropertyChangeListeners that were registered for a specific bound property.

If listener is null, no exception is thrown and no action is performed.

Specified by:
removePropertyChangeListener in interface ValidationResultModel
Parameters:
propertyName - a valid property name
listener - the PropertyChangeListener to be removed
See Also:
addPropertyChangeListener(String, PropertyChangeListener), getPropertyChangeListeners(String), removePropertyChangeListener(PropertyChangeListener)

getPropertyChangeListeners

public final PropertyChangeListener[] getPropertyChangeListeners()
Returns an array of all the property change listeners registered on this component.

Specified by:
getPropertyChangeListeners in interface ValidationResultModel
Returns:
all of this component's PropertyChangeListeners or an empty array if no property change listeners are currently registered
See Also:
addPropertyChangeListener(PropertyChangeListener), removePropertyChangeListener(PropertyChangeListener), getPropertyChangeListeners(String), PropertyChangeSupport.getPropertyChangeListeners()

getPropertyChangeListeners

public final PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
Returns an array of all the listeners which have been associated with the named property.

Specified by:
getPropertyChangeListeners in interface ValidationResultModel
Parameters:
propertyName - the name of the property to lookup listeners
Returns:
all of the PropertyChangeListeners associated with the named property or an empty array if no listeners have been added
See Also:
addPropertyChangeListener(String, PropertyChangeListener), removePropertyChangeListener(String, PropertyChangeListener), getPropertyChangeListeners()

firePropertyChange

protected final void firePropertyChange(String propertyName,
                                        Object oldValue,
                                        Object newValue)
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.

Parameters:
propertyName - the property whose value has changed
oldValue - the property's previous value
newValue - the property's new value

firePropertyChange

protected final void firePropertyChange(String propertyName,
                                        boolean oldValue,
                                        boolean newValue)
Support for reporting bound property changes for boolean properties. This method can be called when a bound property has changed and it will send the appropriate PropertyChangeEvent to any registered PropertyChangeListeners.

Parameters:
propertyName - the property whose value has changed
oldValue - the property's previous value
newValue - the property's new value


Copyright © 2003-2008 JGoodies Karsten Lentzsch. All Rights Reserved.