com.guiseframework.validator
Class DateRangeValidator

java.lang.Object
  extended by com.globalmentor.beans.BoundPropertyObject
      extended by com.guiseframework.event.GuiseBoundPropertyObject
          extended by com.guiseframework.validator.AbstractValidator<V>
              extended by com.guiseframework.validator.AbstractRangeValidator<V>
                  extended by com.guiseframework.validator.AbstractComparableRangeValidator<java.util.Date>
                      extended by com.guiseframework.validator.DateRangeValidator
All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, RangeValidator<java.util.Date>, Validator<java.util.Date>

public class DateRangeValidator
extends AbstractComparableRangeValidator<java.util.Date>

A range validator for dates. The step value is considered relative either to the minimum value, if available, the maximum value, if available, or zero, in that order or priority.

Author:
Garret Wilson

Field Summary
 
Fields inherited from class com.globalmentor.beans.BoundPropertyObject
NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS
 
Fields inherited from interface com.guiseframework.validator.Validator
INVALID_VALUE_MESSAGE_PROPERTY, VALUE_REQUIRED_MESSAGE_PROPERTY, VALUE_REQUIRED_PROPERTY
 
Constructor Summary
DateRangeValidator()
          Default constructor with no value required and a step of one.
DateRangeValidator(boolean valueRequired)
          Value required constructor with a step of one.
DateRangeValidator(java.util.Date minimum, java.util.Date maximum)
          Minimum, and maximum constructor with a step of one.
DateRangeValidator(java.util.Date minimum, java.util.Date maximum, boolean valueRequired)
          Minimum, maximum, and value required constructor.
DateRangeValidator(java.util.Date minimum, java.util.Date maximum, java.util.Date step)
          Minimum, maximum, and step constructor.
DateRangeValidator(java.util.Date minimum, java.util.Date maximum, java.util.Date step, boolean valueRequired)
          Minimum, maximum, step, and value required constructor.
 
Method Summary
protected  boolean isValidStep(java.util.Date value, java.util.Date step, java.util.Date base)
          Determines whether the given value falls on the correct step amount relative to the base value.
 
Methods inherited from class com.guiseframework.validator.AbstractComparableRangeValidator
validate
 
Methods inherited from class com.guiseframework.validator.AbstractRangeValidator
getMaximum, getMinimum, getStep
 
Methods inherited from class com.guiseframework.validator.AbstractValidator
getInvalidValueMessage, getValueRequiredMessage, isValid, isValueRequired, setInvalidValueMessage, setValueRequired, setValueRequiredMessage, throwInvalidValueValidationException, throwValueRequiredValidationException, toString
 
Methods inherited from class com.guiseframework.event.GuiseBoundPropertyObject
getSession
 
Methods inherited from class com.globalmentor.beans.BoundPropertyObject
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, createPostponedPropertyChangeEvent, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getForwardPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeSupport, getRepeatPropertyChangeListener, getRepeatVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, getVetoableChangeSupport, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.guiseframework.validator.Validator
getInvalidValueMessage, getSession, getValueRequiredMessage, isValid, setInvalidValueMessage, setValueRequiredMessage
 
Methods inherited from interface com.globalmentor.beans.PropertyBindable
addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, hasPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

DateRangeValidator

public DateRangeValidator()
Default constructor with no value required and a step of one.


DateRangeValidator

public DateRangeValidator(boolean valueRequired)
Value required constructor with a step of one.

Parameters:
valueRequired - Whether the value must be non-null in order to be considered valid.

DateRangeValidator

public DateRangeValidator(java.util.Date minimum,
                          java.util.Date maximum)
Minimum, and maximum constructor with a step of one.

Parameters:
minimum - The minimum value, inclusive, or null if the range has no lower bound.
maximum - The maximum value, inclusive, or null if the range has no upper bound.

DateRangeValidator

public DateRangeValidator(java.util.Date minimum,
                          java.util.Date maximum,
                          java.util.Date step)
Minimum, maximum, and step constructor.

Parameters:
minimum - The minimum value, inclusive, or null if the range has no lower bound.
maximum - The maximum value, inclusive, or null if the range has no upper bound.
step - The step amount, or null if the range has no increment value specified.

DateRangeValidator

public DateRangeValidator(java.util.Date minimum,
                          java.util.Date maximum,
                          boolean valueRequired)
Minimum, maximum, and value required constructor.

Parameters:
minimum - The minimum value, inclusive, or null if the range has no lower bound.
maximum - The maximum value, inclusive, or null if the range has no upper bound.
valueRequired - Whether the value must be non-null in order to be considered valid.

DateRangeValidator

public DateRangeValidator(java.util.Date minimum,
                          java.util.Date maximum,
                          java.util.Date step,
                          boolean valueRequired)
Minimum, maximum, step, and value required constructor.

Parameters:
minimum - The minimum value, inclusive, or null if the range has no lower bound.
maximum - The maximum value, inclusive, or null if the range has no upper bound.
step - The step amount, or null if the range has no increment value specified.
valueRequired - Whether the value must be non-null in order to be considered valid.
Method Detail

isValidStep

protected boolean isValidStep(java.util.Date value,
                              java.util.Date step,
                              java.util.Date base)
Determines whether the given value falls on the correct step amount relative to the base value.

Specified by:
isValidStep in class AbstractComparableRangeValidator<java.util.Date>
Parameters:
value - The value to validate.
step - The step value.
base - The base (either the minimum or maximum value), or null if zero should be used as a base.
Returns:
true if the value is a valid step away from the given base.


Copyright © 2005-2010 GlobalMentor, Inc. All Rights Reserved.