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.AutoCloseable, 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

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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