Class DateValidator
- java.lang.Object
-
- org.apache.commons.validator.routines.AbstractFormatValidator
-
- org.apache.commons.validator.routines.AbstractCalendarValidator
-
- org.apache.commons.validator.routines.DateValidator
-
- All Implemented Interfaces:
java.io.Serializable
public class DateValidator extends AbstractCalendarValidator
Date Validation and Conversion routines (
java.util.Date).This validator provides a number of methods for validating/converting a
Stringdate value to ajava.util.Dateusingjava.text.DateFormatto parse either:- using the default format for the default
Locale - using a specified pattern with the default
Locale - using the default format for a specified
Locale - using a specified pattern with a specified
Locale
For each of the above mechanisms, conversion method (i.e the
validatemethods) implementations are provided which either use the defaultTimeZoneor allow theTimeZoneto be specified.Use one of the
isValid()methods to just validate or one of thevalidate()methods to validate and receive a convertedDatevalue.Implementations of the
validate()method are provided to createDateobjects for different time zones if the system default is not appropriate.Once a value has been successfully converted the following methods can be used to perform various date comparison checks:
compareDates()compares the day, month and year of two dates, returning 0, -1 or +1 indicating whether the first date is equal, before or after the second.compareWeeks()compares the week and year of two dates, returning 0, -1 or +1 indicating whether the first week is equal, before or after the second.compareMonths()compares the month and year of two dates, returning 0, -1 or +1 indicating whether the first month is equal, before or after the second.compareQuarters()compares the quarter and year of two dates, returning 0, -1 or +1 indicating whether the first quarter is equal, before or after the second.compareYears()compares the year of two dates, returning 0, -1 or +1 indicating whether the first year is equal, before or after the second.
So that the same mechanism used for parsing an input value for validation can be used to format output, corresponding
format()methods are also provided. That is you can format either:- using a specified pattern
- using the format for a specified
Locale - using the format for the default
Locale
- Since:
- Validator 1.3.0
- Version:
- $Revision: 1649191 $
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static longserialVersionUIDprivate static DateValidatorVALIDATOR
-
Constructor Summary
Constructors Constructor Description DateValidator()Construct a strict instance with short date style.DateValidator(boolean strict, int dateStyle)Construct an instance with the specified strict and date style parameters.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareDates(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)Compare Dates (day, month and year - not time).intcompareMonths(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)Compare Months (month and year).intcompareQuarters(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)Compare Quarters (quarter and year).intcompareQuarters(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone, int monthOfFirstQuarter)Compare Quarters (quarter and year).intcompareWeeks(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)Compare Weeks (week and year).intcompareYears(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)Compare Years.private java.util.CalendargetCalendar(java.util.Date value, java.util.TimeZone timeZone)Convert aDateto aCalendar.static DateValidatorgetInstance()Return a singleton instance of this validator.protected java.lang.ObjectprocessParsedValue(java.lang.Object value, java.text.Format formatter)Returns the parsedDateunchanged.java.util.Datevalidate(java.lang.String value)Validate/convert aDateusing the defaultLocaleandTimeZone.java.util.Datevalidate(java.lang.String value, java.lang.String pattern)Validate/convert aDateusing the specified pattern and defaultTimeZone.java.util.Datevalidate(java.lang.String value, java.lang.String pattern, java.util.Locale locale)Validate/convert aDateusing the specified pattern andLocaleand the defaultTimeZone.java.util.Datevalidate(java.lang.String value, java.lang.String pattern, java.util.Locale locale, java.util.TimeZone timeZone)Validate/convert aDateusing the specified pattern, andLocaleandTimeZone.java.util.Datevalidate(java.lang.String value, java.lang.String pattern, java.util.TimeZone timeZone)Validate/convert aDateusing the specified pattern andTimeZone.java.util.Datevalidate(java.lang.String value, java.util.Locale locale)Validate/convert aDateusing the specifiedLocaleand defaultTimeZone.java.util.Datevalidate(java.lang.String value, java.util.Locale locale, java.util.TimeZone timeZone)Validate/convert aDateusing the specifiedLocaleandTimeZone.java.util.Datevalidate(java.lang.String value, java.util.TimeZone timeZone)Validate/convert aDateusing the specifiedTimeZoneand defaultLocale.-
Methods inherited from class org.apache.commons.validator.routines.AbstractCalendarValidator
compare, compareQuarters, compareTime, format, format, format, format, format, format, getFormat, getFormat, isValid, parse
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
VALIDATOR
private static final DateValidator VALIDATOR
-
-
Constructor Detail
-
DateValidator
public DateValidator()
Construct a strict instance with short date style.
-
DateValidator
public DateValidator(boolean strict, int dateStyle)Construct an instance with the specified strict and date style parameters.- Parameters:
strict-trueif strictFormatparsing should be used.dateStyle- the date style to use for Locale validation.
-
-
Method Detail
-
getInstance
public static DateValidator getInstance()
Return a singleton instance of this validator.- Returns:
- A singleton instance of the DateValidator.
-
validate
public java.util.Date validate(java.lang.String value)
Validate/convert a
Dateusing the defaultLocaleandTimeZone.- Parameters:
value- The value validation is being performed on.- Returns:
- The parsed
Dateif valid ornullif invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.util.TimeZone timeZone)Validate/convert a
Dateusing the specifiedTimeZoneand defaultLocale.- Parameters:
value- The value validation is being performed on.timeZone- The Time Zone used to parse the date, system default if null.- Returns:
- The parsed
Dateif valid ornullif invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.lang.String pattern)Validate/convert a
Dateusing the specified pattern and defaultTimeZone.- Parameters:
value- The value validation is being performed on.pattern- The pattern used to validate the value against, or the default for theLocaleifnull.- Returns:
- The parsed
Dateif valid ornullif invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.lang.String pattern, java.util.TimeZone timeZone)Validate/convert a
Dateusing the specified pattern andTimeZone.- Parameters:
value- The value validation is being performed on.pattern- The pattern used to validate the value against, or the default for theLocaleifnull.timeZone- The Time Zone used to parse the date, system default if null.- Returns:
- The parsed
Dateif valid ornullif invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.util.Locale locale)Validate/convert a
Dateusing the specifiedLocaleand defaultTimeZone.- Parameters:
value- The value validation is being performed on.locale- The locale to use for the date format, system default if null.- Returns:
- The parsed
Dateif valid ornullif invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.util.Locale locale, java.util.TimeZone timeZone)Validate/convert a
Dateusing the specifiedLocaleandTimeZone.- Parameters:
value- The value validation is being performed on.locale- The locale to use for the date format, system default if null.timeZone- The Time Zone used to parse the date, system default if null.- Returns:
- The parsed
Dateif valid ornullif invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.lang.String pattern, java.util.Locale locale)Validate/convert a
Dateusing the specified pattern andLocaleand the defaultTimeZone.- Parameters:
value- The value validation is being performed on.pattern- The pattern used to validate the value against, or the default for theLocaleifnull.locale- The locale to use for the date format, system default if null.- Returns:
- The parsed
Dateif valid ornullif invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.lang.String pattern, java.util.Locale locale, java.util.TimeZone timeZone)Validate/convert a
Dateusing the specified pattern, andLocaleandTimeZone.- Parameters:
value- The value validation is being performed on.pattern- The pattern used to validate the value against, or the default for theLocaleifnull.locale- The locale to use for the date format, system default if null.timeZone- The Time Zone used to parse the date, system default if null.- Returns:
- The parsed
Dateif valid ornullif invalid.
-
compareDates
public int compareDates(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)Compare Dates (day, month and year - not time).
- Parameters:
value- TheCalendarvalue to check.compare- TheCalendarto compare the value to.timeZone- The Time Zone used to compare the dates, system default if null.- Returns:
- Zero if the dates are equal, -1 if first date is less than the seconds and +1 if the first date is greater than.
-
compareWeeks
public int compareWeeks(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)Compare Weeks (week and year).
- Parameters:
value- TheDatevalue to check.compare- TheDateto compare the value to.timeZone- The Time Zone used to compare the dates, system default if null.- Returns:
- Zero if the weeks are equal, -1 if first parameter's week is less than the seconds and +1 if the first parameter's week is greater than.
-
compareMonths
public int compareMonths(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)Compare Months (month and year).
- Parameters:
value- TheDatevalue to check.compare- TheDateto compare the value to.timeZone- The Time Zone used to compare the dates, system default if null.- Returns:
- Zero if the months are equal, -1 if first parameter's month is less than the seconds and +1 if the first parameter's month is greater than.
-
compareQuarters
public int compareQuarters(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)Compare Quarters (quarter and year).
- Parameters:
value- TheDatevalue to check.compare- TheDateto compare the value to.timeZone- The Time Zone used to compare the dates, system default if null.- Returns:
- Zero if the months are equal, -1 if first parameter's quarter is less than the seconds and +1 if the first parameter's quarter is greater than.
-
compareQuarters
public int compareQuarters(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone, int monthOfFirstQuarter)Compare Quarters (quarter and year).
- Parameters:
value- TheDatevalue to check.compare- TheDateto compare the value to.timeZone- The Time Zone used to compare the dates, system default if null.monthOfFirstQuarter- The month that the first quarter starts.- Returns:
- Zero if the quarters are equal, -1 if first parameter's quarter is less than the seconds and +1 if the first parameter's quarter is greater than.
-
compareYears
public int compareYears(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)Compare Years.
- Parameters:
value- TheDatevalue to check.compare- TheDateto compare the value to.timeZone- The Time Zone used to compare the dates, system default if null.- Returns:
- Zero if the years are equal, -1 if first parameter's year is less than the seconds and +1 if the first parameter's year is greater than.
-
processParsedValue
protected java.lang.Object processParsedValue(java.lang.Object value, java.text.Format formatter)Returns the parsed
Dateunchanged.- Specified by:
processParsedValuein classAbstractCalendarValidator- Parameters:
value- The parsedDateobject created.formatter- The Format used to parse the value with.- Returns:
- The parsed value converted to a
Calendar.
-
getCalendar
private java.util.Calendar getCalendar(java.util.Date value, java.util.TimeZone timeZone)Convert a
Dateto aCalendar.- Parameters:
value- The date value to be converted.- Returns:
- The converted
Calendar.
-
-