org.apache.commons.validator.routines

Class CalendarValidator

Implemented Interfaces:
Serializable

public class CalendarValidator
extends AbstractCalendarValidator

Calendar Validation and Conversion routines (java.util.Calendar).

This validator provides a number of methods for validating/converting a String date value to a java.util.Calendar using java.text.DateFormat to parse either:

For each of the above mechanisms, conversion method (i.e the validate methods) implementations are provided which either use the default TimeZone or allow the TimeZone to be specified.

Use one of the isValid() methods to just validate or one of the validate() methods to validate and receive a converted Calendar value.

Implementations of the validate() method are provided to create Calendar objects for different time zones if the system default is not appropriate.

Alternatively the CalendarValidator's adjustToTimeZone() method can be used to adjust the TimeZone of the Calendar object afterwards.

Once a value has been sucessfully converted the following methods can be used to perform various date comparison checks:

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:

Version:
$Revision: 386637 $ $Date: 2006-03-17 13:22:26 +0000 (Fri, 17 Mar 2006) $
Since:
Validator 1.3.0

Field Summary

private static CalendarValidator
VALIDATOR

Fields inherited from class org.apache.commons.validator.routines.AbstractCalendarValidator

dateStyle, timeStyle

Fields inherited from class org.apache.commons.validator.routines.AbstractFormatValidator

strict

Constructor Summary

CalendarValidator()
Construct a strict instance with short date style.
CalendarValidator(boolean strict, int dateStyle)
Construct an instance with the specified strict and date style parameters.

Method Summary

static void
adjustToTimeZone(Calendar value, TimeZone timeZone)
Adjusts a Calendar's value to a different TimeZone.
int
compareDates(Calendar value, Calendar compare)
Compare Dates (day, month and year - not time).
int
compareMonths(Calendar value, Calendar compare)
Compare Months (month and year).
int
compareQuarters(Calendar value, Calendar compare)
Compare Quarters (quarter and year).
int
compareQuarters(Calendar value, Calendar compare, int monthOfFirstQuarter)
Compare Quarters (quarter and year).
int
compareWeeks(Calendar value, Calendar compare)
Compare Weeks (week and year).
int
compareYears(Calendar value, Calendar compare)
Compare Years.
static CalendarValidator
getInstance()
Return a singleton instance of this validator.
protected Object
processParsedValue(Object value, Format formatter)
Convert the parsed Date to a Calendar.
Calendar
validate(String value)
Validate/convert a Calendar using the default Locale and TimeZone.
Calendar
validate(String value, Locale locale)
Validate/convert a Calendar using the specified Locale and default TimeZone.
Calendar
validate(String value, Locale locale, TimeZone timeZone)
Validate/convert a Calendar using the specified Locale and TimeZone.
Calendar
validate(String value, String pattern)
Validate/convert a Calendar using the specified pattern and default TimeZone.
Calendar
validate(String value, String pattern, Locale locale)
Validate/convert a Calendar using the specified pattern and Locale and the default TimeZone.
Calendar
validate(String value, String pattern, Locale locale, TimeZone timeZone)
Validate/convert a Calendar using the specified pattern, and Locale and TimeZone.
Calendar
validate(String value, String pattern, TimeZone timeZone)
Validate/convert a Calendar using the specified pattern and TimeZone.
Calendar
validate(String value, TimeZone timeZone)
Validate/convert a Calendar using the specified TimeZone and default Locale.

Methods inherited from class org.apache.commons.validator.routines.AbstractCalendarValidator

calculateCompareResult, calculateQuarter, compare, compareQuarters, compareTime, format, format, format, format, format, format, getFormat, getFormat, isValid, parse, processParsedValue

Methods inherited from class org.apache.commons.validator.routines.AbstractFormatValidator

format, format, format, format, format, getFormat, isStrict, isValid, isValid, isValid, isValid, parse, processParsedValue

Field Details

VALIDATOR

private static final CalendarValidator VALIDATOR

Constructor Details

CalendarValidator

public CalendarValidator()
Construct a strict instance with short date style.

CalendarValidator

public CalendarValidator(boolean strict,
                         int dateStyle)
Construct an instance with the specified strict and date style parameters.
Parameters:
strict - true if strict Format parsing should be used.
dateStyle - the date style to use for Locale validation.

Method Details

adjustToTimeZone

public static void adjustToTimeZone(Calendar value,
                                    TimeZone timeZone)
Adjusts a Calendar's value to a different TimeZone.
Parameters:
value - The value to adjust.
timeZone - The new time zone to use to adjust the Calendar to.

compareDates

public int compareDates(Calendar value,
                        Calendar compare)
Compare Dates (day, month and year - not time).
Parameters:
value - The Calendar value to check.
compare - The Calendar to compare the value to.
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.

compareMonths

public int compareMonths(Calendar value,
                         Calendar compare)
Compare Months (month and year).
Parameters:
value - The Calendar value to check.
compare - The Calendar to compare the value to.
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(Calendar value,
                           Calendar compare)
Compare Quarters (quarter and year).
Parameters:
value - The Calendar value to check.
compare - The Calendar to check the value against.
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.

compareQuarters

public int compareQuarters(Calendar value,
                           Calendar compare,
                           int monthOfFirstQuarter)
Compare Quarters (quarter and year).
Overrides:
compareQuarters in interface AbstractCalendarValidator
Parameters:
value - The Calendar value to check.
compare - The Calendar to compare the value to.
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.

compareWeeks

public int compareWeeks(Calendar value,
                        Calendar compare)
Compare Weeks (week and year).
Parameters:
value - The Calendar value to check.
compare - The Calendar to compare the value to.
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.

compareYears

public int compareYears(Calendar value,
                        Calendar compare)
Compare Years.
Parameters:
value - The Calendar value to check.
compare - The Calendar to compare the value to.
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.

getInstance

public static CalendarValidator getInstance()
Return a singleton instance of this validator.
Returns:
A singleton instance of the CalendarValidator.

processParsedValue

protected Object processParsedValue(Object value,
                                    Format formatter)
Convert the parsed Date to a Calendar.
Overrides:
processParsedValue in interface AbstractCalendarValidator
Parameters:
value - The parsed Date object created.
formatter - The Format used to parse the value with.
Returns:
The parsed value converted to a Calendar.

validate

public Calendar validate(String value)
Validate/convert a Calendar using the default Locale and TimeZone.
Parameters:
value - The value validation is being performed on.
Returns:
The parsed Calendar if valid or null if invalid.

validate

public Calendar validate(String value,
                         Locale locale)
Validate/convert a Calendar using the specified Locale and default TimeZone.
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 Calendar if valid or null if invalid.

validate

public Calendar validate(String value,
                         Locale locale,
                         TimeZone timeZone)
Validate/convert a Calendar using the specified Locale and TimeZone.
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 Calendar if valid or null if invalid.

validate

public Calendar validate(String value,
                         String pattern)
Validate/convert a Calendar using the specified pattern and default TimeZone.
Parameters:
value - The value validation is being performed on.
pattern - The pattern used to validate the value against.
Returns:
The parsed Calendar if valid or null if invalid.

validate

public Calendar validate(String value,
                         String pattern,
                         Locale locale)
Validate/convert a Calendar using the specified pattern and Locale and the default TimeZone.
Parameters:
value - The value validation is being performed on.
pattern - The pattern used to validate the value against, or the default for the Locale if null.
locale - The locale to use for the date format, system default if null.
Returns:
The parsed Calendar if valid or null if invalid.

validate

public Calendar validate(String value,
                         String pattern,
                         Locale locale,
                         TimeZone timeZone)
Validate/convert a Calendar using the specified pattern, and Locale and TimeZone.
Parameters:
value - The value validation is being performed on.
pattern - The pattern used to validate the value against, or the default for the Locale if null.
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 Calendar if valid or null if invalid.

validate

public Calendar validate(String value,
                         String pattern,
                         TimeZone timeZone)
Validate/convert a Calendar using the specified pattern and TimeZone.
Parameters:
value - The value validation is being performed on.
pattern - The pattern used to validate the value against.
timeZone - The Time Zone used to parse the date, system default if null.
Returns:
The parsed Calendar if valid or null if invalid.

validate

public Calendar validate(String value,
                         TimeZone timeZone)
Validate/convert a Calendar using the specified TimeZone and default Locale.
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 Calendar if valid or null if invalid.

Copyright (c) 2001-2004 Apache Software Foundation