Package 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:
  `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
  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
  Description
  `IsLastModified()`

- ## Method Summary

  Modifier and Type
  Method
  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(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(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 Details

  - ### IsLastModified

    public IsLastModified()

- ## Method Details

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