DateSelector (Apache Ant API)
Date: 2018-09-11

Package 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`, `ResourceSelector`, `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
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `DateSelector.TimeComparisons` | Enumerated attribute with the values for time comparison.

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `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 | Description
    --- | ---
    `DateSelector()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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

      `getCheckedRef, getError, setError, setError, validate`

    - ### Methods inherited from class org.apache.tools.ant.types.DataType

      `checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, setRefid, tooManyAttributes`

    - ### Methods inherited from interface org.apache.tools.ant.types.selectors.FileSelector

      `isSelected`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from class org.apache.tools.ant.ProjectComponent

      `getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`

- - ### 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()

  - ### 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.