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