net.dpml.cli.validation

Class DateValidator

Implemented Interfaces:
Validator

public class DateValidator
extends java.lang.Object
implements Validator

The DateValidator validates the argument values are date or time value(s). The following example shows how to validate that an argument value(s) is a Date of the following type: d/M/yy (see java.text.DateFormat).
 DateFormat date = new SimpleDateFormat("d/M/yy");
 ...
 ArgumentBuilder builder = new ArgumentBuilder();
 Argument dateFormat =
     builder.withName("date");
            .withValidator(new DateValidator(dateFormat));
 
The following example shows how to validate that an argument value(s) is a time of the following type: HH:mm:ss (see java.text.DateFormat).
 DateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
 ...
 ArgumentBuilder builder = new ArgumentBuilder();
 Argument time =
     builder.withName("time");
            .withValidator(new DateValidator(timeFormat));
 
Version:
@PROJECT-VERSION@
Author:
@PUBLISHER-NAME@
See Also:
java.text.DateFormat

Constructor Summary

DateValidator()
Creates a Validator for the default date/time format
DateValidator(DateFormat format)
Creates a Validator for the specified DateFormat.
DateValidator(List formats)
Creates a Validator for the List of specified DateFormats.

Method Summary

static DateValidator
getDateInstance()
Creates a Validator for dates.
static DateValidator
getDateTimeInstance()
Creates a Validator for date/times
DateFormat[]
getFormats()
Gets the date formats permitted.
Date
getMaximum()
Returns the maximum date permitted.
Date
getMinimum()
Returns the minimum date permitted.
static DateValidator
getTimeInstance()
Creates a Validator for times.
boolean
isLeniant()
Return the leaniant flag.
void
setFormat(DateFormat format)
Sets the date format permitted.
void
setFormats(DateFormat[] formats)
Sets the date formats permitted.
void
setFormats(List formats)
Sets the date formats permitted.
void
setLeniant(boolean lenient)
Set the leaniant flag.
void
setMaximum(Date maximum)
Sets the maximum Date to the specified value.
void
setMinimum(Date minimum)
Sets the minimum Date to the specified value.
void
validate(List values)
Validate each String value in the specified List against this instances permitted DateFormats.

Constructor Details

DateValidator

public DateValidator()
Creates a Validator for the default date/time format

DateValidator

public DateValidator(DateFormat format)
Creates a Validator for the specified DateFormat.
Parameters:
format - a DateFormat which dates must conform to

DateValidator

public DateValidator(List formats)
Creates a Validator for the List of specified DateFormats.
Parameters:
formats - a List of DateFormats which dates must conform to

Method Details

getDateInstance

public static DateValidator getDateInstance()
Creates a Validator for dates.
Returns:
DateValidator a Validator for dates

getDateTimeInstance

public static DateValidator getDateTimeInstance()
Creates a Validator for date/times
Returns:
DateValidator a Validator for date/times

getFormats

public DateFormat[] getFormats()
Gets the date formats permitted.
Returns:
the permitted formats

getMaximum

public Date getMaximum()
Returns the maximum date permitted.
Returns:
Date the maximum date permitted. If no maximum date has been specified then return null.

getMinimum

public Date getMinimum()
Returns the minimum date permitted.
Returns:
Date the minimum date permitted. If no minimum date has been specified then return null.

getTimeInstance

public static DateValidator getTimeInstance()
Creates a Validator for times.
Returns:
DateValidator a Validator for times

isLeniant

public boolean isLeniant()
Return the leaniant flag.
Returns:
true if leniant

setFormat

public void setFormat(DateFormat format)
Sets the date format permitted.
Parameters:
format - the format to use

setFormats

public void setFormats(DateFormat[] formats)
Sets the date formats permitted.
Parameters:
formats - the array of DateFormats to use

setFormats

public void setFormats(List formats)
Sets the date formats permitted.
Parameters:
formats - the List of DateFormats to use

setLeniant

public void setLeniant(boolean lenient)
Set the leaniant flag.
Parameters:
lenient - true if leniant

setMaximum

public void setMaximum(Date maximum)
Sets the maximum Date to the specified value.
Parameters:
maximum - the maximum Date permitted

setMinimum

public void setMinimum(Date minimum)
Sets the minimum Date to the specified value.
Parameters:
minimum - the minimum Date permitted

validate

public void validate(List values)
            throws InvalidArgumentException
Validate each String value in the specified List against this instances permitted DateFormats. If a value is valid then it's String value in the list is replaced with it's Date value.
Specified by:
validate in interface Validator
Parameters:
values - the list of values to validate
Throws:
InvalidArgumentException - if a value is invalid
See Also:
net.dpml.cli.validation.Validator.validate(java.util.List)