Package org.apache.tools.ant.filters

# Class BaseFilterReader

java.lang.Object
java.io.Reader
java.io.FilterReader
org.apache.tools.ant.filters.BaseFilterReader

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `Readable`

Direct Known Subclasses:
  `BaseParamFilterReader`, `ClassConstants`, `ExpandProperties`, `StripJavaComments`, `TokenFilter`

public abstract class BaseFilterReader extends FilterReader
Base class for core filter readers.

## Field Summary

### Fields inherited from class java.io.FilterReader

`in`

### Fields inherited from class java.io.Reader

`lock`

## Constructor Summary

Constructors
Constructor
Description
`BaseFilterReader()`
Constructor used by Ant's introspection mechanism.
`BaseFilterReader(Reader in)`
Creates a new filtered reader.

## Method Summary

Modifier and Type
Method
Description
`protected final boolean`
`getInitialized()`
Returns the initialized status.
`protected final Project`
`getProject()`
Returns the project this filter is part of.
`final int`
`read(char[] cbuf, int off, int len)`
Reads characters into a portion of an array.
`protected final String`
`readFully()`
Reads to the end of the stream, returning the contents as a String.
`protected final String`
`readLine()`
Reads a line of text ending with '\n' (or until the end of the stream).
`protected final void`
`setInitialized(boolean initialized)`
Sets the initialized status.
`final void`
`setProject(Project project)`
Sets the project to work with.
`final long`
`skip(long n)`
Skips characters.

### Methods inherited from class java.io.FilterReader

`close, mark, markSupported, read, ready, reset`

### Methods inherited from class java.io.Reader

`nullReader, read, read, transferTo`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### BaseFilterReader

public BaseFilterReader()
Constructor used by Ant's introspection mechanism. 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.

### BaseFilterReader

public BaseFilterReader(Reader in)
Creates a new filtered reader.

Parameters:
  `in` - A Reader object providing the underlying stream. Must not be `null`.

## Method Details

### read

public final int read(char[] cbuf, int off, int len) throws IOException
Reads characters into a portion of an array. This method will block until some input is available, an I/O error occurs, or the end of the stream is reached.

Overrides:
  `read` in class `FilterReader`
Parameters:
  `cbuf` - Destination buffer to write characters to. Must not be `null`.
  `off` - Offset at which to start storing characters.
  `len` - Maximum number of characters to read.
Returns:
  the number of characters read, or -1 if the end of the stream has been reached
Throws:
  `IOException` - If an I/O error occurs

### skip

public final long skip(long n) throws IOException, IllegalArgumentException
Skips characters. This method will block until some characters are available, an I/O error occurs, or the end of the stream is reached.

Overrides:
  `skip` in class `FilterReader`
Parameters:
  `n` - The number of characters to skip
Returns:
  the number of characters actually skipped
Throws:
  `IllegalArgumentException` - If `n` is negative.
  `IOException` - If an I/O error occurs

### setInitialized

protected final void setInitialized(boolean initialized)
Sets the initialized status.

Parameters:
  `initialized` - Whether or not the filter is initialized.

### getInitialized

protected final boolean getInitialized()
Returns the initialized status.

Returns:
  whether or not the filter is initialized

### setProject

public final void setProject(Project project)
Sets the project to work with.

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

### getProject

protected final Project getProject()
Returns the project this filter is part of.

Returns:
  the project this filter is part of

### readLine

protected final String readLine() throws IOException
Reads a line of text ending with '\n' (or until the end of the stream). The returned String retains the '\n'.

Returns:
  the line read, or `null` if the end of the stream has already been reached
Throws:
  `IOException` - if the underlying reader throws one during reading

### readFully

protected final String readFully() throws IOException
Reads to the end of the stream, returning the contents as a String.

Returns:
  the remaining contents of the reader, as a String
Throws:
  `IOException` - if the underlying reader throws one during reading