## 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:
  java.io.Closeable, java.lang.Readable

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

    public abstract class BaseFilterReader

extends java.io.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
`BaseFilterReader()` Constructor used by Ant's introspection mechanism.
`BaseFilterReader(java.io.Reader in)` Creates a new filtered reader.

Method Summary
`protected boolean` `getInitialized()` Returns the initialized status.
`protected Project` `getProject()` Returns the project this filter is part of.
`int` `read(char[] cbuf, int off, int len)` Reads characters into a portion of an array.
`protected java.lang.String` `readFully()` Reads to the end of the stream, returning the contents as a String.
`protected java.lang.String` `readLine()` Reads a line of text ending with '\n' (or until the end of the stream).
`protected void` `setInitialized(boolean initialized)` Sets the initialized status.
`void` `setProject(Project project)` Sets the project to work with.
`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
`read, read`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### 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(java.io.Reader in)

  Creates a new filtered reader.

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

Method Detail

### read

    public final int read(char[] cbuf,
                          int off,
                          int len)
                   throws java.io.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 `java.io.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:
    `java.io.IOException` - If an I/O error occurs

### skip

    public final long skip(long n)
                    throws java.io.IOException,
                           java.lang.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 `java.io.FilterReader`
  Parameters:
    `n` - The number of characters to skip
  Returns:
    the number of characters actually skipped
  Throws:
    `java.lang.IllegalArgumentException` - If `n` is negative.
    `java.io.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 java.lang.String readLine()
                                       throws java.io.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:
    `java.io.IOException` - if the underlying reader throws one during reading

### readFully

    protected final java.lang.String readFully()
                                        throws java.io.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:
    `java.io.IOException` - if the underlying reader throws one during reading