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
String
date value to ajava.util.Date
usingjava.text.DateFormat
to 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
validate
methods) implementations are provided which either use the defaultTimeZone
or allow theTimeZone
to be specified.Use one of the
isValid()
methods to just validate or one of thevalidate()
methods to validate and receive a convertedDate
value.Implementations of the
validate()
method are provided to createDate
objects for different time zones if the system default is not appropriate.Once a value has been sucessfully converted the following methods can be used to perform various date comparison checks:
compareDates()
compares the day, month and year of two dates, returing 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, returing 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, returing 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, returing 0, -1 or +1 indicating whether the first quarter is equal, before or after the second.compareYears()
compares the year of two dates, returing 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: 478334 $ $Date: 2006-11-22 21:31:54 +0000 (Wed, 22 Nov 2006) $
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static DateValidator
VALIDATOR
-
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 int
compareDates(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)
Compare Dates (day, month and year - not time).int
compareMonths(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)
Compare Months (month and year).int
compareQuarters(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)
Compare Quarters (quarter and year).int
compareQuarters(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone, int monthOfFirstQuarter)
Compare Quarters (quarter and year).int
compareWeeks(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)
Compare Weeks (week and year).int
compareYears(java.util.Date value, java.util.Date compare, java.util.TimeZone timeZone)
Compare Years.private java.util.Calendar
getCalendar(java.util.Date value, java.util.TimeZone timeZone)
Convert aDate
to aCalendar
.static DateValidator
getInstance()
Return a singleton instance of this validator.protected java.lang.Object
processParsedValue(java.lang.Object value, java.text.Format formatter)
Returns the parsedDate
unchanged.java.util.Date
validate(java.lang.String value)
Validate/convert aDate
using the defaultLocale
andTimeZone
.java.util.Date
validate(java.lang.String value, java.lang.String pattern)
Validate/convert aDate
using the specified pattern and defaultTimeZone
.java.util.Date
validate(java.lang.String value, java.lang.String pattern, java.util.Locale locale)
Validate/convert aDate
using the specified pattern andLocale
and the defaultTimeZone
.java.util.Date
validate(java.lang.String value, java.lang.String pattern, java.util.Locale locale, java.util.TimeZone timeZone)
Validate/convert aDate
using the specified pattern, andLocale
andTimeZone
.java.util.Date
validate(java.lang.String value, java.lang.String pattern, java.util.TimeZone timeZone)
Validate/convert aDate
using the specified pattern andTimeZone
.java.util.Date
validate(java.lang.String value, java.util.Locale locale)
Validate/convert aDate
using the specifiedLocale
and defaultTimeZone
.java.util.Date
validate(java.lang.String value, java.util.Locale locale, java.util.TimeZone timeZone)
Validate/convert aDate
using the specifiedLocale
andTimeZone
.java.util.Date
validate(java.lang.String value, java.util.TimeZone timeZone)
Validate/convert aDate
using the specifiedTimeZone
and 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
-
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
-true
if strictFormat
parsing 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
Date
using the defaultLocale
andTimeZone
.- Parameters:
value
- The value validation is being performed on.- Returns:
- The parsed
Date
if valid ornull
if invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.util.TimeZone timeZone)
Validate/convert a
Date
using the specifiedTimeZone
and 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
Date
if valid ornull
if invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.lang.String pattern)
Validate/convert a
Date
using 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 theLocale
ifnull
.- Returns:
- The parsed
Date
if valid ornull
if invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.lang.String pattern, java.util.TimeZone timeZone)
Validate/convert a
Date
using 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 theLocale
ifnull
.timeZone
- The Time Zone used to parse the date, system default if null.- Returns:
- The parsed
Date
if valid ornull
if invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.util.Locale locale)
Validate/convert a
Date
using the specifiedLocale
and 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
Date
if valid ornull
if invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.util.Locale locale, java.util.TimeZone timeZone)
Validate/convert a
Date
using the specifiedLocale
andTimeZone
.- 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
Date
if valid ornull
if invalid.
-
validate
public java.util.Date validate(java.lang.String value, java.lang.String pattern, java.util.Locale locale)
Validate/convert a
Date
using the specified pattern andLocale
and the defaultTimeZone
.- Parameters:
value
- The value validation is being performed on.pattern
- The pattern used to validate the value against, or the default for theLocale
ifnull
.locale
- The locale to use for the date format, system default if null.- Returns:
- The parsed
Date
if valid ornull
if 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
Date
using the specified pattern, andLocale
andTimeZone
.- Parameters:
value
- The value validation is being performed on.pattern
- The pattern used to validate the value against, or the default for theLocale
ifnull
.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
Date
if valid ornull
if 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
- TheCalendar
value to check.compare
- TheCalendar
to 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
- TheDate
value to check.compare
- TheDate
to 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
- TheDate
value to check.compare
- TheDate
to 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
- TheDate
value to check.compare
- TheDate
to 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
- TheDate
value to check.compare
- TheDate
to 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
- TheDate
value to check.compare
- TheDate
to 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
Date
unchanged.- Specified by:
processParsedValue
in classAbstractCalendarValidator
- Parameters:
value
- The parsedDate
object 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
Date
to aCalendar
.- Parameters:
value
- The date value to be converted.- Returns:
- The converted
Calendar
.
-
-