org.apache.tools.ant.types.selectors

## Class DateSelector

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.types.DataType
    - - org.apache.tools.ant.types.selectors.BaseSelector
      - - org.apache.tools.ant.types.selectors.BaseExtendSelector
        - - 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

Nested Classes
`static class` `DateSelector.TimeComparisons` Enumerated attribute with the values for time comparison.

### Field Summary

Fields
`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

Constructors
Constructor and Description
`DateSelector()` Creates a new `DateSelector` instance.

### Method Summary

All Methods Instance Methods Concrete Methods
`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, 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.