org.apache.tools.ant.filters
Class BaseFilterReader

java.lang.Object
  extended by java.io.Reader
      extended by java.io.FilterReader
          extended by 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