## org.apache.tools.ant.taskdefs
Class Concat

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.Task
              org.apache.tools.ant.taskdefs.Concat

All Implemented Interfaces:
  java.lang.Cloneable, java.lang.Iterable<Resource>, ResourceCollection

    public class Concat

extends Task
implements ResourceCollection

This class contains the 'concat' task, used to concatenate a series of files into a single stream. The destination of this stream may be the system console, or a file. The following is a sample invocation:

     <concat destfile="${build.dir}/index.xml"
       append="false">

       <fileset dir="${xml.root.dir}"
         includes="*.xml" />

     </concat>

Nested Class Summary
`static class` `Concat.TextElement` sub element points to a file or contains text

Field Summary

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

Method Summary
`void` `add(ResourceCollection c)` Add an arbitrary ResourceCollection.
`void` `addFilelist(FileList list)` List of files to concatenate.
`void` `addFileset(FileSet set)` Set of files to concatenate.
`void` `addFilterChain(FilterChain filterChain)` Adds a FilterChain.
`void` `addFooter(Concat.TextElement footerToAdd)` Add a footer to the concatenated output
`void` `addHeader(Concat.TextElement headerToAdd)` Add a header to the concatenated output
`void` `addText(java.lang.String text)` This method adds text which appears in the 'concat' element.
`Path` `createPath()` Path of files to concatenate.
`void` `execute()` Execute the concat task.
`boolean` `isFilesystemOnly()` Implement ResourceCollection.
`java.util.Iterator<Resource>` `iterator()` Implement ResourceCollection.
`void` `reset()` Reset state to default.
`void` `setAppend(boolean append)` Sets the behavior when the destination exists.
`void` `setBinary(boolean binary)` Set the binary attribute.
`void` `setDest(Resource dest)` Set the resource to write to.
`void` `setDestfile(java.io.File destinationFile)` Sets the destination file, or uses the console if not specified.
`void` `setEncoding(java.lang.String encoding)` Sets the character encoding
`void` `setEol(FixCRLF.CrLf crlf)` Specify the end of line to find and to add if not present at end of each input file.
`void` `setFixLastLine(boolean fixLastLine)` Append line.separator to files that do not end with a line.separator, default false.
`void` `setForce(boolean forceOverwrite)` Deprecated. use #setOverwrite instead
`void` `setForceReadOnly(boolean f)` Whether read-only destinations will be overwritten.
`void` `setIgnoreEmpty(boolean ignoreEmpty)` Sets the behavior when no source resource files are available.
`void` `setOutputEncoding(java.lang.String outputEncoding)` Sets the character encoding for outputting
`void` `setOverwrite(boolean forceOverwrite)` Force overwrite existing destination file
`void` `setResourceName(java.lang.String resourceName)` Set the name that will be reported by the exposed `Resource`.
`void` `setWriter(java.io.Writer outputWriter)` Set the output writer.
`int` `size()` Implement ResourceCollection.

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

### Concat

    public Concat()

  Construct a new Concat task.

Method Detail

### reset

    public void reset()

  Reset state to default.

### setDestfile

    public void setDestfile(java.io.File destinationFile)

  Sets the destination file, or uses the console if not specified.

  Parameters:
    `destinationFile` - the destination file

### setDest

    public void setDest(Resource dest)

  Set the resource to write to.

  Parameters:
    `dest` - the Resource to write to.
  Since:
    Ant 1.8

### setAppend

    public void setAppend(boolean append)

  Sets the behavior when the destination exists. If set to `true` the task will append the stream data an `Appendable` resource; otherwise existing content will be overwritten. Defaults to `false`.

  Parameters:
    `append` - if true append output.

### setEncoding

    public void setEncoding(java.lang.String encoding)

  Sets the character encoding

  Parameters:
    `encoding` - the encoding of the input stream and unless outputencoding is set, the outputstream.

### setOutputEncoding

    public void setOutputEncoding(java.lang.String outputEncoding)

  Sets the character encoding for outputting

  Parameters:
    `outputEncoding` - the encoding for the output file
  Since:
    Ant 1.6

### setForce

    public void setForce(boolean forceOverwrite)

  Deprecated. use #setOverwrite instead

  Force overwrite existing destination file

  Parameters:
    `forceOverwrite` - if true always overwrite, otherwise only overwrite if the output file is older any of the input files.
  Since:
    Ant 1.6

### setOverwrite

    public void setOverwrite(boolean forceOverwrite)

  Force overwrite existing destination file

  Parameters:
    `forceOverwrite` - if true always overwrite, otherwise only overwrite if the output file is older any of the input files.
  Since:
    Ant 1.8.2

### setForceReadOnly

    public void setForceReadOnly(boolean f)

  Whether read-only destinations will be overwritten.

  Defaults to false

  Since:
    Ant 1.8.2

### setIgnoreEmpty

    public void setIgnoreEmpty(boolean ignoreEmpty)

  Sets the behavior when no source resource files are available. If set to `false` the destination file will always be created. Defaults to `true`.

  Parameters:
    `ignoreEmpty` - if false honour destinationfile creation.
  Since:
    Ant 1.8.0

### setResourceName

    public void setResourceName(java.lang.String resourceName)

  Set the name that will be reported by the exposed `Resource`.

  Parameters:
    `resourceName` - to set
  Since:
    Ant 1.8.3

### createPath

    public Path createPath()

  Path of files to concatenate.

  Returns:
    the path used for concatenating
  Since:
    Ant 1.6

### addFileset

    public void addFileset(FileSet set)

  Set of files to concatenate.

  Parameters:
    `set` - the set of files

### addFilelist

    public void addFilelist(FileList list)

  List of files to concatenate.

  Parameters:
    `list` - the list of files

### add

    public void add(ResourceCollection c)

  Add an arbitrary ResourceCollection.

  Parameters:
    `c` - the ResourceCollection to add.
  Since:
    Ant 1.7

### addFilterChain

    public void addFilterChain(FilterChain filterChain)

  Adds a FilterChain.

  Parameters:
    `filterChain` - a filterchain to filter the concatenated input
  Since:
    Ant 1.6

### addText

    public void addText(java.lang.String text)

  This method adds text which appears in the 'concat' element.

  Parameters:
    `text` - the text to be concated.

### addHeader

    public void addHeader(Concat.TextElement headerToAdd)

  Add a header to the concatenated output

  Parameters:
    `headerToAdd` - the header
  Since:
    Ant 1.6

### addFooter

    public void addFooter(Concat.TextElement footerToAdd)

  Add a footer to the concatenated output

  Parameters:
    `footerToAdd` - the footer
  Since:
    Ant 1.6

### setFixLastLine

    public void setFixLastLine(boolean fixLastLine)

  Append line.separator to files that do not end with a line.separator, default false.

  Parameters:
    `fixLastLine` - if true make sure each input file has new line on the concatenated stream
  Since:
    Ant 1.6

### setEol

    public void setEol(FixCRLF.CrLf crlf)

  Specify the end of line to find and to add if not present at end of each input file. This attribute is used in conjunction with fixlastline.

  Parameters:
    `crlf` - the type of new line to add - cr, mac, lf, unix, crlf, or dos
  Since:
    Ant 1.6

### setWriter

    public void setWriter(java.io.Writer outputWriter)

  Set the output writer. This is to allow concat to be used as a nested element.

  Parameters:
    `outputWriter` - the output writer.
  Since:
    Ant 1.6

### setBinary

    public void setBinary(boolean binary)

  Set the binary attribute. If true, concat will concatenate the files byte for byte. This mode does not allow any filtering or other modifications to the input streams. The default value is false.

  Parameters:
    `binary` - if true, enable binary mode.
  Since:
    Ant 1.6.2

### execute

    public void execute()

  Execute the concat task.

  Overrides:
    `execute` in class `Task`

### iterator

    public java.util.Iterator<Resource> iterator()

  Implement ResourceCollection.

  Specified by:
    `iterator` in interface `java.lang.Iterable<Resource>`
  Specified by:
    `iterator` in interface `ResourceCollection`
  Returns:
    Iterator<Resource>.

### size

    public int size()

  Implement ResourceCollection.

  Specified by:
    `size` in interface `ResourceCollection`
  Returns:
    1.

### isFilesystemOnly

    public boolean isFilesystemOnly()

  Implement ResourceCollection.

  Specified by:
    `isFilesystemOnly` in interface `ResourceCollection`
  Returns:
    false.