# ConcatFilter

Extends \BaseParamFilterReader Implements \ChainableReader

Concats a file before and/or after the file.

Example:

    <copy todir="build">
        <fileset dir="src" includes="*.php"/>
        <filterchain>
            <concatfilter prepend="license.txt"/>
        </filterchain>
    </copy>

Copies all php sources from `src` to `build` and adds the content of `license.txt` add the beginning of each file.

author | Siad.ardroumli siad.ardroumli@gmail.com
package | phing.filters

### Methods

## __construct

    __construct(\Reader $in = null)

inherited

### Arguments

#### $in

`\Reader`

## Creates a new ConcatReader using the passed in Reader for instantiation.

    chain(\Reader $rdr) : \ConcatFilter

### Arguments

#### $rdr

`\Reader`

A Reader object providing the underlying stream. Must not be `null`.

### Response

`\ConcatFilter`

a new filter based on this configuration, but filtering the specified reader

## Close stream.

    close()

inherited abstract

throws | if there is an error closing stream

## Returns whether the end of file has been reached with input stream.

    eof() : boolean

inherited

### Response

`boolean`

## Returns `append` attribute.

    getAppend() : \PhingFile

### Response

`\PhingFile`

append attribute

## Returns the initialized status.

    getInitialized() : boolean

inherited

### Response

`boolean`

whether or not the filter is initialized

## Returns the parameters to be used by this filter.

    getParameters() : array

inherited

### Response

`array`

the parameters to be used by this filter

## Returns `prepend` attribute.

    getPrepend() : \PhingFile

### Response

`\PhingFile`

prepend attribute

## Returns the project this filter is part of.

    getProject() : object

inherited

### Response

`object`

The project this filter is part of

## Returns the filename, url, etc. that is being read from.

    getResource() : string

inherited abstract

This is critical for, e.g., ExpatParser's ability to know the filename that is throwing an ExpatParserException, etc.

### Response

`string`

## Scans the parameters list for the "lines" parameter and uses it to set the number of lines to be returned in the filtered stream.

    initialize()

also scan for skip parameter.

throws |

## Convenience method to support logging in filters.

    log(string $msg, integer $level = \Project::MSG_INFO) : void

inherited

### Arguments

#### $msg

`string`

Message to log.

#### $level

`integer`

Priority level.

## If supported, places a "marker" (like a bookmark) at current stream position.

    mark()

inherited

A subsequent call to reset() will move stream position back to last marker (if supported).

## Whether marking is supported.

    markSupported() : boolean

inherited

### Response

`boolean`

## Read data from source.

    read(integer $len = null)

inherited abstract

If length is specified, then only that number of chars is read, otherwise stream is read until EOF.

### Arguments

#### $len

`integer`

## Reads a line of text ending with '\n' (or until the end of the stream).

    readLine() : string

inherited

The returned String retains the '\n'.

throws | if the underlying reader throws one during reading

### Response

`string`

the line read, or `null` if the end of the stream has already been reached

## Is stream ready for reading.

    ready() : boolean

inherited

### Response

`boolean`

## Reset the current position in stream to beginning or last mark (if supported).

    reset()

inherited

## Sets `append` attribute.

    setAppend( $append)

### Arguments

#### $append

``

## Sets the initialized status.

    setInitialized(boolean $initialized)

inherited

### Arguments

#### $initialized

`boolean`

Whether or not the filter is initialized.

## Sets the parameters used by this filter, and sets the filter to an uninitialized status.

    setParameters(array $parameters) : void

inherited

throws |

### Arguments

#### $parameters

`array`

Array of parameters to be used by this filter. Should not be `null`.

## Sets `prepend` attribute.

    setPrepend( $prepend)

### Arguments

#### $prepend

``

## Sets the project to work with.

    setProject(object|\Project $project)

inherited

### Arguments

#### $project

`object|\Project`

The project this filter is part of. Should not be `null`.

## setReader

    setReader(\Reader $in)

inherited

### Arguments

#### $in

`\Reader`

## Move stream position relative to current pos.

    skip(integer $n)

inherited

### Arguments

#### $n

`integer`

### Properties

## File to add before the content.

    prepend : \PhingFile

var |

### Type(s)

`\PhingFile`

## File to add after the content.

    append : \PhingFile

var |

### Type(s)

`\PhingFile`

## Reader for prepend-file.

    prependReader : \BufferedReader

var |

### Type(s)

`\BufferedReader`

## Reader for append-file.

    appendReader : \BufferedReader

var |

### Type(s)

`\BufferedReader`

## The passed in parameter array.

    _parameters : array

inherited

var |

### Type(s)

`array`

## Have the parameters passed been interpreted?

    initialized :

inherited

### Type(s)

``

## The Phing project this filter is part of.

    project :

inherited

### Type(s)

``

## in

    in : \Reader

inherited

var |

### Type(s)

`\Reader`