org.apache.commons.validator.routines
Class TimeValidator

java.lang.Object
  extended by org.apache.commons.validator.routines.AbstractFormatValidator
      extended by org.apache.commons.validator.routines.AbstractCalendarValidator
          extended by 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 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 for the time.

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 time 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:

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
private static TimeValidator VALIDATOR
           
 
Constructor Summary
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
 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 parsed Date to a Calendar.
 java.util.Calendar validate(java.lang.String value)
          Validate/convert a time using the default Locale and TimeZone.
 java.util.Calendar validate(java.lang.String value, java.util.Locale locale)
          Validate/convert a time using the specified Locale default TimeZone.
 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 and TimeZone.
 java.util.Calendar validate(java.lang.String value, java.lang.String pattern)
          Validate/convert a time using the specified pattern and default TimeZone.
 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 default TimeZone.
 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 and TimeZone.
 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.
 java.util.Calendar validate(java.lang.String value, java.util.TimeZone timeZone)
          Validate/convert a time using the specified TimeZone and default Locale.
 
Methods inherited from class org.apache.commons.validator.routines.AbstractCalendarValidator
compare, compareQuarters, compareTime, format, format, format, format, format, format, getFormat, getFormat, isValid, parse
 
Methods inherited from class org.apache.commons.validator.routines.AbstractFormatValidator
format, format, format, isStrict, isValid, isValid, isValid, parse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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 strict Format 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 and TimeZone.

Parameters:
value - The value validation is being performed on.
Returns:
The parsed Calendar if valid or null 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 default Locale.

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 or null 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 or null 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 or null if invalid.

validate

public java.util.Calendar validate(java.lang.String value,
                                   java.util.Locale locale)

Validate/convert a time using the specified Locale default TimeZone.

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 or null 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 and TimeZone.

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 or null 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 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 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 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.

compareTime

public int compareTime(java.util.Calendar value,
                       java.util.Calendar compare)

Compare Times (hour, minute, second and millisecond - not date).

Parameters:
value - The Calendar value to check.
compare - The Calendar 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 - The Calendar value to check.
compare - The Calendar 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 - The Calendar value to check.
compare - The Calendar 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 - The Calendar value to check.
compare - The Calendar 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 a Calendar.

Specified by:
processParsedValue in class 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.


Copyright (c) 2001-2004 Apache Software Foundation