Reads the last `n` lines of a stream.

(Default is last10 lines.)

Example:

Or:

author | <a href="mailto:yl@seasonfive.com">Yannick Lecaillez</a>
author | hans lellelid, hans@velum.net
copyright | 2003 seasonfive. All rights reserved
version | $Id: 79966fb4ce6b4e487a5c1eb246ad6ff29bfd6c3b $
see | \global\BaseParamFilterReader
package | phing.filters

### Methods

## Constructor used by Phing's introspection mechanism.

    __construct(\Reader $in)

Inherited

The original filter reader is only used for chaining purposes, never for filtering purposes (and indeed it would be useless for filtering purposes, as it has no real data to filter). ChainedReaderHelper uses this placeholder instance to create a chain of real filters.

inherited_from | \BaseFilterReader::__construct()
inherited_from | \BaseParamFilterReader::__construct()

### Parameters

#### $in

`\Reader`

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

    chain(\Reader $reader) : object

### Parameters

#### $reader

`object`

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

### Returns

`object`A new filter based on this configuration, but filtering the specified reader.

## Close stream.

    close()

Inherited

inherited_from | \FilterReader::close()
inherited_from | \BaseFilterReader::close()
inherited_from | \BaseParamFilterReader::close()

### Exceptions

`\IOException` | if there is an error closing stream

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

    eof() : boolean

Inherited

inherited_from | \BaseFilterReader::eof()
inherited_from | \BaseParamFilterReader::eof()

### Returns

`boolean`

## Returns the initialized status.

    getInitialized() : boolean

Inherited

inherited_from | \BaseFilterReader::getInitialized()
inherited_from | \BaseParamFilterReader::getInitialized()

### Returns

`boolean`whether or not the filter is initialized

## Returns the number of lines to be returned in the filtered stream.

    getLines() : integer

### Returns

`integer`The number of lines to be returned in the filtered stream.

## getParameters()

    getParameters()

Inherited

inherited_from | \BaseParamFilterReader::getParameters()

## Returns the project this filter is part of.

    getProject() : object

Inherited

inherited_from | \BaseFilterReader::getProject()
inherited_from | \BaseParamFilterReader::getProject()

### Returns

`object`The project this filter is part of

## Returns the filename, url, etc.

    getResource() : string

Inherited

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

inherited_from | \FilterReader::getResource()
inherited_from | \BaseFilterReader::getResource()
inherited_from | \BaseParamFilterReader::getResource()

### Returns

`string`

## Convenience method to support logging in filters.

    log(string $msg, int $level)

Inherited

inherited_from | \BaseFilterReader::log()
inherited_from | \BaseParamFilterReader::log()

### Parameters

#### $msg

`string`

Message to log.

#### $level

`int`

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).

inherited_from | \Reader::mark()
inherited_from | \FilterReader::mark()
inherited_from | \BaseFilterReader::mark()
inherited_from | \BaseParamFilterReader::mark()

## Whether marking is supported.

    markSupported() : boolean

Inherited

inherited_from | \Reader::markSupported()
inherited_from | \FilterReader::markSupported()
inherited_from | \BaseFilterReader::markSupported()
inherited_from | \BaseParamFilterReader::markSupported()

### Returns

`boolean`

## Returns the last n lines of a file.

    read(int $len) : mixed

FIXME: Clean up this function signature, as it a) params aren't being used and b) it doesn't make much sense.

### Parameters

#### $len

`int`

Num chars to read.

### Exceptions

`\IOException` | If an I/O error occurs

### Returns

`mixed`The filtered buffer or -1 if EOF.

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

    readLine() : \the

Inherited

The returned String retains the '\n'.

inherited_from | \BaseFilterReader::readLine()
inherited_from | \BaseParamFilterReader::readLine()

### Exceptions

`\IOException` | if the underlying reader throws one during reading

### Returns

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

## Is stream ready for reading.

    ready() : boolean

Inherited

inherited_from | \Reader::ready()
inherited_from | \FilterReader::ready()
inherited_from | \BaseFilterReader::ready()
inherited_from | \BaseParamFilterReader::ready()

### Returns

`boolean`

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

    reset()

Inherited

inherited_from | \FilterReader::reset()
inherited_from | \BaseFilterReader::reset()
inherited_from | \BaseParamFilterReader::reset()

## Sets the initialized status.

    setInitialized(boolean $initialized)

Inherited

inherited_from | \BaseFilterReader::setInitialized()
inherited_from | \BaseParamFilterReader::setInitialized()

### Parameters

#### $initialized

`boolean`

Whether or not the filter is initialized.

## Sets the number of lines to be returned in the filtered stream.

    setLines(integer $lines)

### Parameters

#### $lines

`integer`

the number of lines to be returned in the filtered stream.

## setParameters()

    setParameters($parameters)

Inherited

inherited_from | \BaseParamFilterReader::setParameters()

### Parameters

#### $parameters

## Sets the project to work with.

    setProject(\Project $project)

Inherited

inherited_from | \BaseFilterReader::setProject()
inherited_from | \BaseParamFilterReader::setProject()

### Parameters

#### $project

`object`

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

## setReader()

    setReader(\Reader $in)

Inherited

inherited_from | \FilterReader::setReader()
inherited_from | \BaseFilterReader::setReader()
inherited_from | \BaseParamFilterReader::setReader()

### Parameters

#### $in

## Move stream position relative to current pos.

    skip(int $n)

Inherited

inherited_from | \FilterReader::skip()
inherited_from | \BaseFilterReader::skip()
inherited_from | \BaseParamFilterReader::skip()

### Parameters

#### $n

`int`

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

### Properties

##

    $_parameters

Inherited

inherited_from | \BaseParamFilterReader::$$_parameters

##

    $in : \Reader

Inherited

inherited_from | \FilterReader::$$in
inherited_from | \BaseFilterReader::$$in
inherited_from | \BaseParamFilterReader::$$in

##

    $initialized

Inherited

inherited_from | \BaseFilterReader::$$initialized
inherited_from | \BaseParamFilterReader::$$initialized

##

    $project

Inherited

inherited_from | \BaseFilterReader::$$project
inherited_from | \BaseParamFilterReader::$$project

##

    $_lineBuffer : array

##

    $_lines : integer

### Constants

## Parameter name for the number of lines to be returned.

    LINES_KEY : string