org.apache.tools.ant.taskdefs
Class Touch

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by 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