Class TimeValidator
- java.lang.Object
-
- org.apache.commons.validator.routines.AbstractFormatValidator
-
- org.apache.commons.validator.routines.AbstractCalendarValidator
-
- org.apache.commons.validator.routines.TimeValidator
-
- All Implemented Interfaces:
java.io.Serializable
public class TimeValidator extends AbstractCalendarValidator
Time Validation and Conversion routines (
java.util.Calendar
).This validator provides a number of methods for validating/converting a
String
time value to ajava.util.Calendar
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 convertedCalendar
value for the time.Implementations of the
validate()
method are provided to createCalendar
objects for different time zones if the system default is not appropriate.Alternatively the CalendarValidator's
adjustToTimeZone()
method can be used to adjust theTimeZone
of theCalendar
object afterwards.Once a value has been successfully converted the following methods can be used to perform various time comparison checks:
compareTime()
compares the hours, minutes, seconds and milliseconds of two calendars, returning 0, -1 or +1 indicating whether the first time is equal, before or after the second.compareSeconds()
compares the hours, minutes and seconds of two times, returning 0, -1 or +1 indicating whether the first is equal to, before or after the second.compareMinutes()
compares the hours and minutes two times, returning 0, -1 or +1 indicating whether the first is equal to, before or after the second.compareHours()
compares the hours of two times, returning 0, -1 or +1 indicating whether the first is equal to, 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 long
serialVersionUID
private static TimeValidator
VALIDATOR
-
Constructor Summary
Constructors Constructor Description TimeValidator()
Construct a strict instance with short time style.TimeValidator(boolean strict, int timeStyle)
Construct an instance with the specified strict and time style parameters.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareHours(java.util.Calendar value, java.util.Calendar compare)
Compare Hours.int
compareMinutes(java.util.Calendar value, java.util.Calendar compare)
Compare Minutes (hours and minutes).int
compareSeconds(java.util.Calendar value, java.util.Calendar compare)
Compare Seconds (hours, minutes and seconds).int
compareTime(java.util.Calendar value, java.util.Calendar compare)
Compare Times (hour, minute, second and millisecond - not date).static TimeValidator
getInstance()
Return a singleton instance of this validator.protected java.lang.Object
processParsedValue(java.lang.Object value, java.text.Format formatter)
Convert the parsedDate
to aCalendar
.java.util.Calendar
validate(java.lang.String value)
Validate/convert a time using the defaultLocale
andTimeZone
.java.util.Calendar
validate(java.lang.String value, java.lang.String pattern)
Validate/convert a time using the specified pattern and defaultTimeZone
.java.util.Calendar
validate(java.lang.String value, java.lang.String pattern, java.util.Locale locale)
Validate/convert a time using the specified pattern andLocale
and the defaultTimeZone
.java.util.Calendar
validate(java.lang.String value, java.lang.String pattern, java.util.Locale locale, java.util.TimeZone timeZone)
Validate/convert a time using the specified pattern,Locale
andTimeZone
.java.util.Calendar
validate(java.lang.String value, java.lang.String pattern, java.util.TimeZone timeZone)
Validate/convert a time using the specified pattern andTimeZone
.java.util.Calendar
validate(java.lang.String value, java.util.Locale locale)
Validate/convert a time using the specifiedLocale
defaultTimeZone
.java.util.Calendar
validate(java.lang.String value, java.util.Locale locale, java.util.TimeZone timeZone)
Validate/convert a time using the specified specifiedLocale
andTimeZone
.java.util.Calendar
validate(java.lang.String value, java.util.TimeZone timeZone)
Validate/convert a time 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
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
VALIDATOR
private static final TimeValidator VALIDATOR
-
-
Constructor Detail
-
TimeValidator
public TimeValidator()
Construct a strict instance with short time style.
-
TimeValidator
public TimeValidator(boolean strict, int timeStyle)
Construct an instance with the specified strict and time style parameters.- Parameters:
strict
-true
if strictFormat
parsing should be used.timeStyle
- the time style to use for Locale validation.
-
-
Method Detail
-
getInstance
public static TimeValidator getInstance()
Return a singleton instance of this validator.- Returns:
- A singleton instance of the TimeValidator.
-
validate
public java.util.Calendar validate(java.lang.String value)
Validate/convert a time using the default
Locale
andTimeZone
.- Parameters:
value
- The value validation is being performed on.- Returns:
- The parsed
Calendar
if valid ornull
if invalid.
-
validate
public java.util.Calendar validate(java.lang.String value, java.util.TimeZone timeZone)
Validate/convert a time using the specified
TimeZone
and defaultLocale
.- Parameters:
value
- The value validation is being performed on.timeZone
- The Time Zone used to parse the time, system default if null.- Returns:
- The parsed
Calendar
if valid ornull
if invalid.
-
validate
public java.util.Calendar validate(java.lang.String value, java.lang.String pattern)
Validate/convert a time 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 ornull
if invalid.
-
validate
public java.util.Calendar validate(java.lang.String value, java.lang.String pattern, java.util.TimeZone timeZone)
Validate/convert a time 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 time, system default if null.- Returns:
- The parsed
Calendar
if valid ornull
if invalid.
-
validate
public java.util.Calendar validate(java.lang.String value, java.util.Locale locale)
Validate/convert a time using the specified
Locale
defaultTimeZone
.- Parameters:
value
- The value validation is being performed on.locale
- The locale to use for the time format, system default if null.- Returns:
- The parsed
Calendar
if valid ornull
if invalid.
-
validate
public java.util.Calendar validate(java.lang.String value, java.util.Locale locale, java.util.TimeZone timeZone)
Validate/convert a time using the specified specified
Locale
andTimeZone
.- Parameters:
value
- The value validation is being performed on.locale
- The locale to use for the time format, system default if null.timeZone
- The Time Zone used to parse the time, system default if null.- Returns:
- The parsed
Calendar
if valid ornull
if invalid.
-
validate
public java.util.Calendar validate(java.lang.String value, java.lang.String pattern, java.util.Locale locale)
Validate/convert a time using the specified pattern and
Locale
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
Calendar
if valid ornull
if invalid.
-
validate
public java.util.Calendar validate(java.lang.String value, java.lang.String pattern, java.util.Locale locale, java.util.TimeZone timeZone)
Validate/convert a time using the specified pattern,
Locale
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
Calendar
if valid ornull
if invalid.
-
compareTime
public int compareTime(java.util.Calendar value, java.util.Calendar compare)
Compare Times (hour, minute, second and millisecond - not date).
- Parameters:
value
- TheCalendar
value to check.compare
- TheCalendar
to compare the value to.- Returns:
- Zero if the hours are equal, -1 if first time is less than the seconds and +1 if the first time is greater than.
-
compareSeconds
public int compareSeconds(java.util.Calendar value, java.util.Calendar compare)
Compare Seconds (hours, minutes and seconds).
- Parameters:
value
- TheCalendar
value to check.compare
- TheCalendar
to compare the value to.- Returns:
- Zero if the hours are equal, -1 if first parameter's seconds are less than the seconds and +1 if the first parameter's seconds are greater than.
-
compareMinutes
public int compareMinutes(java.util.Calendar value, java.util.Calendar compare)
Compare Minutes (hours and minutes).
- Parameters:
value
- TheCalendar
value to check.compare
- TheCalendar
to compare the value to.- Returns:
- Zero if the hours are equal, -1 if first parameter's minutes are less than the seconds and +1 if the first parameter's minutes are greater than.
-
compareHours
public int compareHours(java.util.Calendar value, java.util.Calendar compare)
Compare Hours.
- Parameters:
value
- TheCalendar
value to check.compare
- TheCalendar
to compare the value to.- Returns:
- Zero if the hours are equal, -1 if first parameter's hour is less than the seconds and +1 if the first parameter's hour is greater than.
-
processParsedValue
protected java.lang.Object processParsedValue(java.lang.Object value, java.text.Format formatter)
Convert the parsed
Date
to aCalendar
.- 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
.
-
-