## 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
`static interface` `Touch.DateFormatFactory`

Field Summary
`static Touch.DateFormatFactory` `DEFAULT_DF_FACTORY`

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
`Touch()` Construct a new `Touch` task.

Method Summary
`void` `add(FileNameMapper fileNameMapper)` Add a `FileNameMapper`.
`void` `add(ResourceCollection rc)` Add a collection of resources to touch.
`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 Detail

### DEFAULT_DF_FACTORY

    public static final Touch.DateFormatFactory DEFAULT_DF_FACTORY

Constructor Detail

### Touch

    public Touch()

  Construct a new `Touch` task.

Method Detail

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

    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