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

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

    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.