IsLastModified (Apache Ant API)
Date: 2018-07-10

org.apache.tools.ant.taskdefs.condition

## Class IsLastModified

- java.lang.Object
- - org.apache.tools.ant.ProjectComponent
  - - org.apache.tools.ant.taskdefs.condition.IsLastModified

- All Implemented Interfaces:
    java.lang.Cloneable, Condition

      public class IsLastModified
      extends ProjectComponent
      implements Condition

  Condition that makes assertions about the last modified date of a resource.
  Since:
    Ant 1.8.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `IsLastModified.CompareMode` describes comparison modes.

  - ### Field Summary

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

      `description, location, project`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IsLastModified()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(Resource r)` The resource to test.
    `boolean` | `eval()` evaluate the condition
    `protected long` | `getMillis()` Calculate timestamp as millis either based on millis or dateTime (and pattern) attribute.
    `void` | `setDatetime(java.lang.String dateTime)` Set the new modification time of file(s) touched in the format "MM/DD/YYYY HH:MM AM or PM" or "MM/DD/YYYY HH:MM:SS AM or PM".
    `void` | `setMillis(long millis)` Set the new modification time of file(s) touched in milliseconds since midnight Jan 1 1970.
    `void` | `setMode(IsLastModified.CompareMode mode)` The type of comparison to test.
    `void` | `setPattern(java.lang.String pattern)` Set the format of the datetime attribute.
    `protected void` | `validate()` Argument validation.

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

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

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

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

- - ### Constructor Detail

    - #### IsLastModified

          public IsLastModified()

  - ### Method Detail

    - #### setMillis

          public void setMillis(long millis)

      Set the new modification time of file(s) touched in milliseconds since midnight Jan 1 1970.
      Parameters:
        `millis` - the `long` timestamp to use.

    - #### setDatetime

          public void setDatetime(java.lang.String dateTime)

      Set the new modification time of file(s) touched in the format "MM/DD/YYYY HH:MM AM or PM" or "MM/DD/YYYY HH:MM:SS AM or PM".
      Parameters:
        `dateTime` - the `String` date in the specified format.

    - #### setPattern

          public void setPattern(java.lang.String pattern)

      Set the format of the datetime attribute.
      Parameters:
        `pattern` - the `SimpleDateFormat`-compatible format pattern.

    - #### add

          public void add(Resource r)

      The resource to test.
      Parameters:
        `r` - the resource to test

    - #### setMode

          public void setMode(IsLastModified.CompareMode mode)

      The type of comparison to test.
      Parameters:
        `mode` - the mode of comparison.

    - #### validate

          protected void validate()
                           throws BuildException

      Argument validation.
      Throws:
        `BuildException` - if the required attributes are not supplied or if there is an inconsistency in the attributes.

    - #### getMillis

          protected long getMillis()
                            throws BuildException

      Calculate timestamp as millis either based on millis or dateTime (and pattern) attribute.
      Returns:
        time in milliseconds
      Throws:
        `BuildException` - if the date cannot be parsed.

    - #### eval

          public boolean eval()
                       throws BuildException

      evaluate the condition
      Specified by:
        `eval` in interface `Condition`
      Returns:
        true or false depending on the comparison mode and the time of the resource
      Throws:
        `BuildException` - if something goes wrong