org.codehaus.plexus.util
Class InterpolationFilterReader

java.lang.Object
  extended byjava.io.Reader
      extended byjava.io.FilterReader
          extended byorg.codehaus.plexus.util.InterpolationFilterReader

public class InterpolationFilterReader
extends java.io.FilterReader


Field Summary
private  java.lang.String beginToken
          Character marking the beginning of a token.
private  int beginTokenLength
          Length of begin token.
private static java.lang.String DEFAULT_BEGIN_TOKEN
          Default begin token.
private static java.lang.String DEFAULT_END_TOKEN
          Default end token.
private  java.lang.String endToken
          Character marking the end of a token.
private  int endTokenLength
          Length of end token.
private  java.lang.String replaceData
          replacement text from a token
private  int replaceIndex
          Index into replacement data
private  java.util.Map variables
          Hashtable to hold the replacee-replacer pairs (String to String).
 
Fields inherited from class java.io.FilterReader
in
 
Fields inherited from class java.io.Reader
lock
 
Constructor Summary
InterpolationFilterReader(java.io.Reader in, java.util.Map variables)
           
InterpolationFilterReader(java.io.Reader in, java.util.Map variables, java.lang.String beginToken, java.lang.String endToken)
           
 
Method Summary
 int read()
          Returns the next character in the filtered stream, replacing tokens from the original stream.
 int read(char[] cbuf, int off, int len)
          Reads characters into a portion of an array.
 long skip(long n)
          Skips characters.
 
Methods inherited from class java.io.FilterReader
close, mark, markSupported, ready, reset
 
Methods inherited from class java.io.Reader
read
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

replaceData

private java.lang.String replaceData
replacement text from a token


replaceIndex

private int replaceIndex
Index into replacement data


variables

private java.util.Map variables
Hashtable to hold the replacee-replacer pairs (String to String).


beginToken

private java.lang.String beginToken
Character marking the beginning of a token.


endToken

private java.lang.String endToken
Character marking the end of a token.


beginTokenLength

private int beginTokenLength
Length of begin token.


endTokenLength

private int endTokenLength
Length of end token.


DEFAULT_BEGIN_TOKEN

private static java.lang.String DEFAULT_BEGIN_TOKEN
Default begin token.


DEFAULT_END_TOKEN

private static java.lang.String DEFAULT_END_TOKEN
Default end token.

Constructor Detail

InterpolationFilterReader

public InterpolationFilterReader(java.io.Reader in,
                                 java.util.Map variables,
                                 java.lang.String beginToken,
                                 java.lang.String endToken)

InterpolationFilterReader

public InterpolationFilterReader(java.io.Reader in,
                                 java.util.Map variables)
Method Detail

skip

public long skip(long n)
          throws java.io.IOException
Skips characters. This method will block until some characters are available, an I/O error occurs, or the end of the stream is reached.

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

read

public 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.

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

read

public int read()
         throws java.io.IOException
Returns the next character in the filtered stream, replacing tokens from the original stream.

Returns:
the next character in the resulting stream, or -1 if the end of the resulting stream has been reached
Throws:
java.io.IOException - if the underlying stream throws an IOException during reading