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