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

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `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

    Constructors
    Constructor and Description
    `Concat()` Construct a new Concat task.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `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` | `setFilterBeforeConcat(boolean filterBeforeConcat)` Set the filterBeforeConcat attribute.
    `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`

    - ### Methods inherited from interface org.apache.tools.ant.types.ResourceCollection

      `isEmpty, stream`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

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

          @Deprecated
          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

      Parameters:
        `f` - boolean
      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 destination file 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 concatenated.

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

    - #### setFilterBeforeConcat

          public void setFilterBeforeConcat(boolean filterBeforeConcat)

      Set the filterBeforeConcat attribute. If true, concat will filter each input through the filterchain before concatenating the results. This allows to e.g. use the FileTokenizer to tokenize each input.
      Parameters:
        `filterBeforeConcat` - if true, filter each input before concatenation
      Since:
        Ant 1.10.10

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