org.apache.turbine.services.intake.validator
Class DateStringValidator

java.lang.Object
  extended byorg.apache.turbine.services.intake.validator.DefaultValidator
      extended byorg.apache.turbine.services.intake.validator.DateStringValidator
All Implemented Interfaces:
InitableByConstraintMap, Validator
Direct Known Subclasses:
DateRangeValidator

public class DateStringValidator
extends DefaultValidator

Validates numbers with the following constraints in addition to those listed in DefaultValidator.

NameValid ValuesDefault Value
formatsee SimpleDateFormat javadoc  
formatxsee SimpleDateFormat javadoc  
where x is >= 1 to specify multiple date formats. Only one format rule should have a message
flexibletrue, as long as DateFormat can parse the date, allow it, and false false

Version:
$Id: DateStringValidator.java 534527 2007-05-02 16:10:59Z tv $
Author:
John McNally, Quinton McCombs, Colin Chalmers, Henning P. Schmiedehausen

Field Summary
 
Fields inherited from class org.apache.turbine.services.intake.validator.DefaultValidator
errorMessage, log, maxLength, maxLengthMessage, minLength, minLengthMessage, required, requiredMessage
 
Fields inherited from interface org.apache.turbine.services.intake.validator.Validator
FLEXIBLE_RULE_NAME, FORMAT_RULE_NAME, INVALID_NUMBER_RULE_NAME, MASK_RULE_NAME, MAX_LENGTH_RULE_NAME, MAX_VALUE_RULE_NAME, MIN_LENGTH_RULE_NAME, MIN_VALUE_RULE_NAME, REQUIRED_RULE_NAME
 
Constructor Summary
DateStringValidator()
          Default Constructor
DateStringValidator(java.util.Map paramMap)
           
 
Method Summary
 void assertValidity(java.lang.String testValue)
          Determine whether a testValue meets the criteria specified in the constraints defined for this validator
 java.lang.String format(java.util.Date date)
          Formats a date into a String.
 java.lang.String getDateFormatMessage()
          Get the value of minLengthMessage.
 java.util.List getDateFormats()
          Get the value of dateFormats.
 void init(java.util.Map paramMap)
          Constructor to use when initialising Object
 boolean isFlexible()
          Get the value of flexible.
 java.util.Date parse(java.lang.String s)
          Parses the String s according to the rules/formats for this validator.
 void setDateFormatMessage(java.lang.String message)
          Only sets the message if the new message has some information.
 void setDateFormats(java.util.List formats)
          Set the value of dateFormats.
 void setFlexible(boolean flexible)
          Set the value of flexible.
 
Methods inherited from class org.apache.turbine.services.intake.validator.DefaultValidator
assertValidity, getMaxLength, getMaxLengthMessage, getMessage, getMinLength, getMinLengthMessage, getRequiredMessage, isRequired, isValid, isValid, setMaxLength, setMaxLengthMessage, setMinLength, setMinLengthMessage, setRequired, setRequiredMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DateStringValidator

public DateStringValidator(java.util.Map paramMap)
                    throws IntakeException

DateStringValidator

public DateStringValidator()
Default Constructor

Method Detail

init

public void init(java.util.Map paramMap)
          throws InvalidMaskException
Constructor to use when initialising Object

Specified by:
init in interface InitableByConstraintMap
Overrides:
init in class DefaultValidator
Parameters:
paramMap -
Throws:
InvalidMaskException

assertValidity

public void assertValidity(java.lang.String testValue)
                    throws ValidationException
Determine whether a testValue meets the criteria specified in the constraints defined for this validator

Specified by:
assertValidity in interface Validator
Overrides:
assertValidity in class DefaultValidator
Parameters:
testValue - a String to be tested
Throws:
ValidationException - containing an error message if the testValue did not pass the validation tests.

parse

public java.util.Date parse(java.lang.String s)
                     throws java.text.ParseException
Parses the String s according to the rules/formats for this validator. The formats provided by the "formatx" rules (where x is >= 1) are used before the "format" rules to allow for a display format that includes a 4 digit year, but that will parse the date using a format that accepts 2 digit years.

Throws:
java.text.ParseException - indicates that the string could not be parsed into a date.

format

public java.lang.String format(java.util.Date date)
Formats a date into a String. The format used is from the first format rule found for the field.

Parameters:
date - the Date object to convert into a string.
Returns:
formatted date

getDateFormatMessage

public java.lang.String getDateFormatMessage()
Get the value of minLengthMessage.

Returns:
value of minLengthMessage.

setDateFormatMessage

public void setDateFormatMessage(java.lang.String message)
Only sets the message if the new message has some information. So the last setMessage call with valid data wins. But later calls with null or empty string will not affect a previous valid setting.

Parameters:
message - Value to assign to minLengthMessage.

getDateFormats

public java.util.List getDateFormats()
Get the value of dateFormats.

Returns:
value of dateFormats.

setDateFormats

public void setDateFormats(java.util.List formats)
Set the value of dateFormats.

Parameters:
formats - Value to assign to dateFormats.

isFlexible

public boolean isFlexible()
Get the value of flexible.

Returns:
value of flexible.

setFlexible

public void setFlexible(boolean flexible)
Set the value of flexible.

Parameters:
flexible - Value to assign to flexible.


Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.