xdoclet.ant
Class ReplaceCopy

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.Copy
              extended by xdoclet.ant.ReplaceCopy
All Implemented Interfaces:
java.lang.Cloneable

public class ReplaceCopy
extends org.apache.tools.ant.taskdefs.Copy

Extension of Ant's Copy task that uses XDoclet's template engine to copy instead of Ant's plain copy. It will scan each file for occurrences of <XDtAnt:property name="some.ant.property"/> and replace them with the associated Ant property value.

This is similar to using the standard <copy> Ant built-in task with a nested <filterset> element, but this task uses a pull mechanism (ant properties are pulled from the ant environment by the copied files) instead of a push mechanism (where Ant pushes explicit values into the copied files).

Version:
$Revision: 1.14 $
Author:
Aslak Helles?y
created
5. januar 2002
To do:
Write docs!!!!!!!!!!!!!!!!!

Field Summary
 
Fields inherited from class org.apache.tools.ant.taskdefs.Copy
completeDirMap, destDir, destFile, dirCopyMap, failonerror, file, fileCopyMap, fileUtils, filtering, flatten, forceOverwrite, includeEmpty, mapperElement, preserveLastModified, rcs, verbosity
 
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
ReplaceCopy()
           
 
Method Summary
protected  void doFileOperations()
          Overridden doFileOperations() as Ant suggests.
 
Methods inherited from class org.apache.tools.ant.taskdefs.Copy
add, add, addFileset, buildMap, buildMap, createFilterChain, createFilterSet, createMapper, doResourceOperations, execute, getEncoding, getFileUtils, getFilterChains, getFilterSets, getOutputEncoding, getPreserveLastModified, isEnableMultipleMapping, scan, scan, setEnableMultipleMappings, setEncoding, setFailOnError, setFile, setFiltering, setFlatten, setGranularity, setIncludeEmptyDirs, setOutputEncoding, setOverwrite, setPreserveLastModified, setPreserveLastModified, setTodir, setTofile, setVerbose, supportsNonFileResources, validateAttributes
 
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
 

Constructor Detail

ReplaceCopy

public ReplaceCopy()
Method Detail

doFileOperations

protected void doFileOperations()
Overridden doFileOperations() as Ant suggests. It would be less copy-paste if fileUtils.copyFile in the superclass' method used getFileUtils().copyFile instead. Then we could just override getFileUtils() and return a FileUtils subclass which used XDoclet template engine. Until Ant fixes this, we'll do inheritance by copy/paste :-(

Overrides:
doFileOperations in class org.apache.tools.ant.taskdefs.Copy

http://xdoclet.sourceforge.net/