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:
  `java.lang.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 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​(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` | `setFile​(java.io.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​(java.lang.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​(java.io.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​(java.io.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​(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". 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​(java.lang.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​(java.io.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