Package org.apache.tools.ant.taskdefs

# Class Touch

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.Touch

All Implemented Interfaces:
  `Cloneable`

public class Touch extends Task
Touch a file and/or fileset(s) and/or filelist(s); corresponds to the Unix touch command.

If the file to touch doesn't exist, an empty one is created.

Since:
  Ant 1.1

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static interface`
`Touch.DateFormatFactory`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final Touch.DateFormatFactory`
`DEFAULT_DF_FACTORY`
Provides access to DateUtils.EN_US_DATE_FORMAT_MIN (primary) and DateUtils.EN_US_DATE_FORMAT_SEC (fallback).

### Fields inherited from class org.apache.tools.ant.Task

`target, taskName, taskType, wrapper`

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

`description, location, project`

## Constructor Summary

Constructors
Constructor
Description
`Touch()`

## Method Summary

Modifier and Type
Method
Description
`void`
`add(ResourceCollection rc)`
Add a collection of resources to touch.
`void`
`add(FileNameMapper fileNameMapper)`
Add a `FileNameMapper`.
`void`
`addConfiguredMapper(Mapper mapper)`
Add a `Mapper`.
`void`
`addFilelist(FileList list)`
Add a filelist to touch.
`void`
`addFileset(FileSet set)`
Add a set of files to touch.
`protected void`
`checkConfiguration()`
Check that this task has been configured properly.
`void`
`execute()`
Execute the touch operation.
`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`
`setFile(File file)`
Sets a single source file to touch.
`void`
`setMillis(long millis)`
Set the new modification time of file(s) touched in milliseconds since midnight Jan 1 1970.
`void`
`setMkdirs(boolean mkdirs)`
Set whether nonexistent parent directories should be created when touching new files.
`void`
`setPattern(String pattern)`
Set the format of the datetime attribute.
`void`
`setVerbose(boolean verbose)`
Set whether the touch task will report every file it creates; defaults to `true`.
`protected void`
`touch()`
Does the actual work; assumes everything has been checked by now.
`protected void`
`touch(File file)`
Deprecated.
since 1.6.x.

### Methods inherited from class org.apache.tools.ant.Task

`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

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

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

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

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

## Field Details

### DEFAULT_DF_FACTORY

public static final Touch.DateFormatFactory DEFAULT_DF_FACTORY
Provides access to DateUtils.EN_US_DATE_FORMAT_MIN (primary) and DateUtils.EN_US_DATE_FORMAT_SEC (fallback).

## Constructor Details

### Touch

public Touch()

## Method Details

### setFile

public void setFile(File file)
Sets a single source file to touch. If the file does not exist an empty file will be created.

Parameters:
  `file` - the `File` to touch.

### setMillis

public void setMillis(long millis)
Set the new modification time of file(s) touched in milliseconds since midnight Jan 1 1970. Optional, default=now.

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". Optional, default=now.

Parameters:
  `dateTime` - the `String` date in the specified format.

### setMkdirs

public void setMkdirs(boolean mkdirs)
Set whether nonexistent parent directories should be created when touching new files.

Parameters:
  `mkdirs` - `boolean` whether to create parent directories.
Since:
  Ant 1.6.3

### setVerbose

public void setVerbose(boolean verbose)
Set whether the touch task will report every file it creates; defaults to `true`.

Parameters:
  `verbose` - `boolean` flag.
Since:
  Ant 1.6.3

### setPattern

public void setPattern(String pattern)
Set the format of the datetime attribute.

Parameters:
  `pattern` - the `SimpleDateFormat`-compatible format pattern.
Since:
  Ant 1.6.3

### addConfiguredMapper

public void addConfiguredMapper(Mapper mapper)
Add a `Mapper`.

Parameters:
  `mapper` - the `Mapper` to add.
Since:
  Ant 1.6.3

### add

public void add(FileNameMapper fileNameMapper) throws BuildException
Add a `FileNameMapper`.

Parameters:
  `fileNameMapper` - the `FileNameMapper` to add.
Throws:
  `BuildException` - if multiple mappers are added.
Since:
  Ant 1.6.3

### addFileset

public void addFileset(FileSet set)
Add a set of files to touch.

Parameters:
  `set` - the `Fileset` to add.

### addFilelist

public void addFilelist(FileList list)
Add a filelist to touch.

Parameters:
  `list` - the `Filelist` to add.

### add

public void add(ResourceCollection rc)
Add a collection of resources to touch.

Parameters:
  `rc` - the collection to add.
Since:
  Ant 1.7

### checkConfiguration

protected void checkConfiguration() throws BuildException
Check that this task has been configured properly.

Throws:
  `BuildException` - if configuration errors are detected.
Since:
  Ant 1.6.3

### execute

public void execute() throws BuildException
Execute the touch operation.

Overrides:
  `execute` in class `Task`
Throws:
  `BuildException` - if an error occurs.

### touch

protected void touch() throws BuildException
Does the actual work; assumes everything has been checked by now.

Throws:
  `BuildException` - if an error occurs.

### touch

@Deprecated protected void touch(File file)
Deprecated.
since 1.6.x.
Touch a single file with the current timestamp (this.millis). This method does not interact with any nested mappers and remains for reasons of backwards-compatibility only.

Parameters:
  `file` - file to touch
Throws:
  `BuildException` - on error