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:
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
-
Constructor Summary
Constructors Constructor Description BaseFilterReader()
Constructor used by Ant's introspection mechanism.BaseFilterReader(java.io.Reader in)
Creates a new filtered reader. -
Method Summary
Modifier and Type Method 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.
-
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(java.io.Reader in)Creates a new filtered reader.- Parameters:
in
- A Reader object providing the underlying stream. Must not benull
.
-
-
Method Details
-
read
public final int read(char[] cbuf, int off, int len) throws java.io.IOExceptionReads 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 classjava.io.FilterReader
- Parameters:
cbuf
- Destination buffer to write characters to. Must not benull
.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.IllegalArgumentExceptionSkips 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 classjava.io.FilterReader
- Parameters:
n
- The number of characters to skip- Returns:
- the number of characters actually skipped
- Throws:
java.lang.IllegalArgumentException
- Ifn
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
Sets the project to work with.- Parameters:
project
- The project this filter is part of. Should not benull
.
-
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.IOExceptionReads 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.IOExceptionReads 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
-