Class AbstractCalendarValidator
- java.lang.Object
-
- org.apache.commons.validator.routines.AbstractFormatValidator
-
- org.apache.commons.validator.routines.AbstractCalendarValidator
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
CalendarValidator,DateValidator,TimeValidator
public abstract class AbstractCalendarValidator extends AbstractFormatValidator
Abstract class for Date/Time/Calendar validation.
This is a base class for building Date / Time Validators using format parsing.
- Since:
- Validator 1.3.0
- Version:
- $Revision: 1649191 $
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private intdateStyleprivate static longserialVersionUIDprivate inttimeStyle
-
Constructor Summary
Constructors Constructor Description AbstractCalendarValidator(boolean strict, int dateStyle, int timeStyle)Construct an instance with the specified strict, time and date style parameters.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private intcalculateCompareResult(java.util.Calendar value, java.util.Calendar compare, int field)Compares the field from two calendars indicating whether the field for the first calendar is equal to, less than or greater than the field from the second calendar.private intcalculateQuarter(java.util.Calendar calendar, int monthOfFirstQuarter)Calculate the quarter for the specified Calendar.protected intcompare(java.util.Calendar value, java.util.Calendar compare, int field)Compares a calendar value to another, indicating whether it is equal, less then or more than at a specified level.protected intcompareQuarters(java.util.Calendar value, java.util.Calendar compare, int monthOfFirstQuarter)Compares a calendar's quarter value to another, indicating whether it is equal, less then or more than the specified quarter.protected intcompareTime(java.util.Calendar value, java.util.Calendar compare, int field)Compares a calendar time value to another, indicating whether it is equal, less then or more than at a specified level.java.lang.Stringformat(java.lang.Object value, java.lang.String pattern, java.util.Locale locale)Format an object using the specified pattern and/orLocale.java.lang.Stringformat(java.lang.Object value, java.lang.String pattern, java.util.Locale locale, java.util.TimeZone timeZone)Format an object using the specified pattern and/orLocale.java.lang.Stringformat(java.lang.Object value, java.lang.String pattern, java.util.TimeZone timeZone)Format an object into aStringusing the specified pattern.protected java.lang.Stringformat(java.lang.Object value, java.text.Format formatter)Format a value with the specifiedDateFormat.java.lang.Stringformat(java.lang.Object value, java.util.Locale locale, java.util.TimeZone timeZone)Format an object into aStringusing the specified Locale.java.lang.Stringformat(java.lang.Object value, java.util.TimeZone timeZone)Format an object into aStringusing the default Locale.protected java.text.FormatgetFormat(java.lang.String pattern, java.util.Locale locale)Returns aDateFormatfor the specified pattern and/orLocale.protected java.text.FormatgetFormat(java.util.Locale locale)Returns aDateFormatfor the specified Locale.booleanisValid(java.lang.String value, java.lang.String pattern, java.util.Locale locale)Validate using the specifiedLocale.protected java.lang.Objectparse(java.lang.String value, java.lang.String pattern, java.util.Locale locale, java.util.TimeZone timeZone)Checks if the value is valid against a specified pattern.protected abstract java.lang.ObjectprocessParsedValue(java.lang.Object value, java.text.Format formatter)Process the parsed value, performing any further validation and type conversion required.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
dateStyle
private final int dateStyle
-
timeStyle
private final int timeStyle
-
-
Constructor Detail
-
AbstractCalendarValidator
public AbstractCalendarValidator(boolean strict, int dateStyle, int timeStyle)Construct an instance with the specified strict, time and date style parameters.- Parameters:
strict-trueif strictFormatparsing should be used.dateStyle- the date style to use for Locale validation.timeStyle- the time style to use for Locale validation.
-
-
Method Detail
-
isValid
public boolean isValid(java.lang.String value, java.lang.String pattern, java.util.Locale locale)Validate using the specified
Locale.- Specified by:
isValidin classAbstractFormatValidator- Parameters:
value- The value validation is being performed on.pattern- The pattern used to format the value.locale- The locale to use for the Format, defaults to the default- Returns:
trueif the value is valid.
-
format
public java.lang.String format(java.lang.Object value, java.util.TimeZone timeZone)Format an object into a
Stringusing the default Locale.- Parameters:
value- The value validation is being performed on.timeZone- The Time Zone used to format the date, system default if null (unless value is aCalendar.- Returns:
- The value formatted as a
String.
-
format
public java.lang.String format(java.lang.Object value, java.lang.String pattern, java.util.TimeZone timeZone)Format an object into a
Stringusing the specified pattern.- Parameters:
value- The value validation is being performed on.pattern- The pattern used to format the value.timeZone- The Time Zone used to format the date, system default if null (unless value is aCalendar.- Returns:
- The value formatted as a
String.
-
format
public java.lang.String format(java.lang.Object value, java.util.Locale locale, java.util.TimeZone timeZone)Format an object into a
Stringusing the specified Locale.- Parameters:
value- The value validation is being performed on.locale- The locale to use for the Format.timeZone- The Time Zone used to format the date, system default if null (unless value is aCalendar.- Returns:
- The value formatted as a
String.
-
format
public java.lang.String format(java.lang.Object value, java.lang.String pattern, java.util.Locale locale)Format an object using the specified pattern and/or
Locale.- Overrides:
formatin classAbstractFormatValidator- Parameters:
value- The value validation is being performed on.pattern- The pattern used to format the value.locale- The locale to use for the Format.- Returns:
- The value formatted as a
String.
-
format
public java.lang.String format(java.lang.Object value, java.lang.String pattern, java.util.Locale locale, java.util.TimeZone timeZone)Format an object using the specified pattern and/or
Locale.- Parameters:
value- The value validation is being performed on.pattern- The pattern used to format the value.locale- The locale to use for the Format.timeZone- The Time Zone used to format the date, system default if null (unless value is aCalendar.- Returns:
- The value formatted as a
String.
-
format
protected java.lang.String format(java.lang.Object value, java.text.Format formatter)Format a value with the specified
DateFormat.- Overrides:
formatin classAbstractFormatValidator- Parameters:
value- The value to be formatted.formatter- The Format to use.- Returns:
- The formatted value.
-
parse
protected java.lang.Object parse(java.lang.String value, java.lang.String pattern, java.util.Locale locale, java.util.TimeZone timeZone)Checks if the value is valid against a specified pattern.
- 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 value if valid or
nullif invalid.
-
processParsedValue
protected abstract java.lang.Object processParsedValue(java.lang.Object value, java.text.Format formatter)Process the parsed value, performing any further validation and type conversion required.
- Specified by:
processParsedValuein classAbstractFormatValidator- Parameters:
value- The parsed object created.formatter- The Format used to parse the value with.- Returns:
- The parsed value converted to the appropriate type
if valid or
nullif invalid.
-
getFormat
protected java.text.Format getFormat(java.lang.String pattern, java.util.Locale locale)Returns a
DateFormatfor the specified pattern and/orLocale.- Specified by:
getFormatin classAbstractFormatValidator- Parameters:
pattern- The pattern used to validate the value against ornullto use the default for theLocale.locale- The locale to use for the currency format, system default if null.- Returns:
- The
DateFormatto created.
-
getFormat
protected java.text.Format getFormat(java.util.Locale locale)
Returns a
DateFormatfor the specified Locale.- Parameters:
locale- The locale aDateFormatis required for, system default if null.- Returns:
- The
DateFormatto created.
-
compare
protected int compare(java.util.Calendar value, java.util.Calendar compare, int field)Compares a calendar value to another, indicating whether it is equal, less then or more than at a specified level.
- Parameters:
value- The Calendar value.compare- TheCalendarto check the value against.field- The field level to compare to - e.g. specifyingCalendar.MONTHwill compare the year and month portions of the calendar.- Returns:
- Zero if the first value is equal to the second, -1 if it is less than the second or +1 if it is greater than the second.
-
compareTime
protected int compareTime(java.util.Calendar value, java.util.Calendar compare, int field)Compares a calendar time value to another, indicating whether it is equal, less then or more than at a specified level.
- Parameters:
value- The Calendar value.compare- TheCalendarto check the value against.field- The field level to compare to - e.g. specifyingCalendar.MINUTEwill compare the hours and minutes portions of the calendar.- Returns:
- Zero if the first value is equal to the second, -1 if it is less than the second or +1 if it is greater than the second.
-
compareQuarters
protected int compareQuarters(java.util.Calendar value, java.util.Calendar compare, int monthOfFirstQuarter)Compares a calendar's quarter value to another, indicating whether it is equal, less then or more than the specified quarter.
- Parameters:
value- The Calendar value.compare- TheCalendarto check the value against.monthOfFirstQuarter- The month that the first quarter starts.- Returns:
- Zero if the first quarter is equal to the second, -1 if it is less than the second or +1 if it is greater than the second.
-
calculateQuarter
private int calculateQuarter(java.util.Calendar calendar, int monthOfFirstQuarter)Calculate the quarter for the specified Calendar.
- Parameters:
calendar- The Calendar value.monthOfFirstQuarter- The month that the first quarter starts.- Returns:
- The calculated quarter.
-
calculateCompareResult
private int calculateCompareResult(java.util.Calendar value, java.util.Calendar compare, int field)Compares the field from two calendars indicating whether the field for the first calendar is equal to, less than or greater than the field from the second calendar.
- Parameters:
value- The Calendar value.compare- TheCalendarto check the value against.field- The field to compare for the calendars.- Returns:
- Zero if the first calendar's field is equal to the seconds, -1 if it is less than the seconds or +1 if it is greater than the seconds.
-
-