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:
  `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 | 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​(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 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​(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