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

    All Methods Instance Methods Concrete Methods Deprecated Methods
    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 Detail

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

    - #### Touch

          public Touch()

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

          @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