org.apache.tools.ant.types.selectors
Class DateSelector

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by org.apache.tools.ant.types.selectors.BaseSelector
              extended by org.apache.tools.ant.types.selectors.BaseExtendSelector
                  extended by org.apache.tools.ant.types.selectors.DateSelector
All Implemented Interfaces:
java.lang.Cloneable, Parameterizable, ExtendFileSelector, FileSelector

public class DateSelector
extends BaseExtendSelector

Selector that chooses files based on their last modified date.

Since:
1.5

Nested Class Summary
static class DateSelector.TimeComparisons
          Enumerated attribute with the values for time comparison.
 
Field Summary
static java.lang.String CHECKDIRS_KEY
          Key to used for parameterized custom selector
static java.lang.String DATETIME_KEY
          Key to used for parameterized custom selector
static java.lang.String GRANULARITY_KEY
          Key to used for parameterized custom selector
static java.lang.String MILLIS_KEY
          Key to used for parameterized custom selector
static java.lang.String PATTERN_KEY
          Key to used for parameterized custom selector
static java.lang.String WHEN_KEY
          Key to used for parameterized custom selector
 
Fields inherited from class org.apache.tools.ant.types.selectors.BaseExtendSelector
parameters
 
Fields inherited from class org.apache.tools.ant.types.DataType
checked, ref
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
DateSelector()
          Creates a new DateSelector instance.
 
Method Summary
 long getMillis()
          Returns the millisecond value the selector is set for.
 boolean isSelected(java.io.File basedir, java.lang.String filename, java.io.File file)
          The heart of the matter.
 void setCheckdirs(boolean includeDirs)
          Set whether to check dates on directories.
 void setDatetime(java.lang.String dateTime)
          Sets the date.
 void setGranularity(int granularity)
          Sets the number of milliseconds leeway we will give before we consider a file not to have matched a date.
 void setMillis(long millis)
          Set the time; for users who prefer to express time in ms since 1970.
 void setParameters(Parameter[] parameters)
          When using this as a custom selector, this method will be called.
 void setPattern(java.lang.String pattern)
          Sets the pattern to be used for the SimpleDateFormat.
 void setWhen(DateSelector.TimeComparisons tcmp)
          Sets the type of comparison to be done on the file's last modified date.
 void setWhen(TimeComparison t)
          Set the comparison type.
 java.lang.String toString()
          Basic DataType toString().
 void verifySettings()
          This is a consistency check to ensure the selector's required values have been set.
 
Methods inherited from class org.apache.tools.ant.types.selectors.BaseExtendSelector
getParameters
 
Methods inherited from class org.apache.tools.ant.types.selectors.BaseSelector
getError, setError, validate
 
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, tooManyAttributes
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MILLIS_KEY

public static final java.lang.String MILLIS_KEY
Key to used for parameterized custom selector

See Also:
Constant Field Values

DATETIME_KEY

public static final java.lang.String DATETIME_KEY
Key to used for parameterized custom selector

See Also:
Constant Field Values

CHECKDIRS_KEY

public static final java.lang.String CHECKDIRS_KEY
Key to used for parameterized custom selector

See Also:
Constant Field Values

GRANULARITY_KEY

public static final java.lang.String GRANULARITY_KEY
Key to used for parameterized custom selector

See Also:
Constant Field Values

WHEN_KEY

public static final java.lang.String WHEN_KEY
Key to used for parameterized custom selector

See Also:
Constant Field Values

PATTERN_KEY

public static final java.lang.String PATTERN_KEY
Key to used for parameterized custom selector

See Also:
Constant Field Values
Constructor Detail

DateSelector

public DateSelector()
Creates a new DateSelector instance.

Method Detail

toString

public java.lang.String toString()
Description copied from class: DataType
Basic DataType toString().

Overrides:
toString in class DataType
Returns:
a string describing this object

setMillis

public void setMillis(long millis)
Set the time; for users who prefer to express time in ms since 1970.

Parameters:
millis - the time to compare file's last modified date to, expressed in milliseconds.

getMillis

public long getMillis()
Returns the millisecond value the selector is set for.

Returns:
the millisecond value.

setDatetime

public void setDatetime(java.lang.String dateTime)
Sets the date. The user must supply it in MM/DD/YYYY HH:MM AM_PM format, unless an alternate pattern is specified via the pattern attribute.

Parameters:
dateTime - a formatted date String.

setCheckdirs

public void setCheckdirs(boolean includeDirs)
Set whether to check dates on directories.

Parameters:
includeDirs - whether to check the timestamp on directories.

setGranularity

public void setGranularity(int granularity)
Sets the number of milliseconds leeway we will give before we consider a file not to have matched a date.

Parameters:
granularity - the number of milliseconds leeway.

setWhen

public void setWhen(DateSelector.TimeComparisons tcmp)
Sets the type of comparison to be done on the file's last modified date.

Parameters:
tcmp - The comparison to perform, an EnumeratedAttribute.

setWhen

public void setWhen(TimeComparison t)
Set the comparison type.

Parameters:
t - TimeComparison object.

setPattern

public void setPattern(java.lang.String pattern)
Sets the pattern to be used for the SimpleDateFormat.

Parameters:
pattern - the pattern that defines the date format.

setParameters

public void setParameters(Parameter[] parameters)
When using this as a custom selector, this method will be called. It translates each parameter into the appropriate setXXX() call.

Specified by:
setParameters in interface Parameterizable
Overrides:
setParameters in class BaseExtendSelector
Parameters:
parameters - the complete set of parameters for this selector.

verifySettings

public void verifySettings()
This is a consistency check to ensure the selector's required values have been set.

Overrides:
verifySettings in class BaseSelector

isSelected

public boolean isSelected(java.io.File basedir,
                          java.lang.String filename,
                          java.io.File file)
The heart of the matter. This is where the selector gets to decide on the inclusion of a file in a particular fileset.

Specified by:
isSelected in interface FileSelector
Specified by:
isSelected in class BaseExtendSelector
Parameters:
basedir - the base directory from which the scan is being performed.
filename - is the name of the file to check.
file - is a java.io.File object the selector can use.
Returns:
whether the file is selected.