org.codehaus.plexus.interpolation.multi
Class MultiDelimiterInterpolatorFilterReader

java.lang.Object
  extended by java.io.Reader
      extended by java.io.FilterReader
          extended by org.codehaus.plexus.interpolation.multi.MultiDelimiterInterpolatorFilterReader
All Implemented Interfaces:
java.io.Closeable, java.lang.Readable

public class MultiDelimiterInterpolatorFilterReader
extends java.io.FilterReader

A FilterReader implementation, that works with Interpolator interface instead of it's own interpolation implementation. This implementation is heavily based on org.codehaus.plexus.util.InterpolationFilterReader.

Version:
$Id: InterpolatorFilterReader.java 8351 2009-08-20 22:25:14Z jdcasey $
Author:
cstamas

Field Summary
static java.lang.String DEFAULT_BEGIN_TOKEN
          Default begin token.
static java.lang.String DEFAULT_END_TOKEN
          Default end token.
 
Fields inherited from class java.io.FilterReader
in
 
Fields inherited from class java.io.Reader
lock
 
Constructor Summary
MultiDelimiterInterpolatorFilterReader(java.io.Reader in, Interpolator interpolator)
          this constructor use default begin token ${ and default end token }
MultiDelimiterInterpolatorFilterReader(java.io.Reader in, Interpolator interpolator, RecursionInterceptor ri)
           
 
Method Summary
 MultiDelimiterInterpolatorFilterReader addDelimiterSpec(java.lang.String delimiterSpec)
           
 java.lang.String getEscapeString()
           
 RecursionInterceptor getRecursionInterceptor()
           
 boolean isInterpolateWithPrefixPattern()
           
 boolean isPreserveEscapeString()
           
 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.
 boolean removeDelimiterSpec(java.lang.String delimiterSpec)
           
 MultiDelimiterInterpolatorFilterReader setDelimiterSpecs(java.util.LinkedHashSet specs)
           
 void setEscapeString(java.lang.String escapeString)
           
 void setInterpolateWithPrefixPattern(boolean interpolateWithPrefixPattern)
           
 void setPreserveEscapeString(boolean preserveEscapeString)
           
 MultiDelimiterInterpolatorFilterReader setRecursionInterceptor(RecursionInterceptor recursionInterceptor)
           
 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, read
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_BEGIN_TOKEN

public static final java.lang.String DEFAULT_BEGIN_TOKEN
Default begin token.

See Also:
Constant Field Values

DEFAULT_END_TOKEN

public static final java.lang.String DEFAULT_END_TOKEN
Default end token.

See Also:
Constant Field Values
Constructor Detail

MultiDelimiterInterpolatorFilterReader

public MultiDelimiterInterpolatorFilterReader(java.io.Reader in,
                                              Interpolator interpolator)
this constructor use default begin token ${ and default end token }

Parameters:
in - reader to use
interpolator - interpolator instance to use

MultiDelimiterInterpolatorFilterReader

public MultiDelimiterInterpolatorFilterReader(java.io.Reader in,
                                              Interpolator interpolator,
                                              RecursionInterceptor ri)
Parameters:
in - reader to use
interpolator - interpolator instance to use
beginToken - start token to use
endToken - end token to use
ri - The RecursionInterceptor to use to prevent recursive expressions.
Since:
1.12
Method Detail

addDelimiterSpec

public MultiDelimiterInterpolatorFilterReader addDelimiterSpec(java.lang.String delimiterSpec)

removeDelimiterSpec

public boolean removeDelimiterSpec(java.lang.String delimiterSpec)

setDelimiterSpecs

public MultiDelimiterInterpolatorFilterReader setDelimiterSpecs(java.util.LinkedHashSet specs)

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.

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

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.

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

read

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

Overrides:
read in class java.io.FilterReader
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

isInterpolateWithPrefixPattern

public boolean isInterpolateWithPrefixPattern()

setInterpolateWithPrefixPattern

public void setInterpolateWithPrefixPattern(boolean interpolateWithPrefixPattern)

getEscapeString

public java.lang.String getEscapeString()

setEscapeString

public void setEscapeString(java.lang.String escapeString)

isPreserveEscapeString

public boolean isPreserveEscapeString()

setPreserveEscapeString

public void setPreserveEscapeString(boolean preserveEscapeString)

getRecursionInterceptor

public RecursionInterceptor getRecursionInterceptor()

setRecursionInterceptor

public MultiDelimiterInterpolatorFilterReader setRecursionInterceptor(RecursionInterceptor recursionInterceptor)


Copyright © 2001-2011 Codehaus. All Rights Reserved.