org.codehaus.plexus.interpolation.multi

Class MultiDelimiterInterpolatorFilterReader

public class MultiDelimiterInterpolatorFilterReader extends 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 StringDEFAULT_BEGIN_TOKEN
Default begin token.
static StringDEFAULT_END_TOKEN
Default end token.
Constructor Summary
MultiDelimiterInterpolatorFilterReader(Reader in, Interpolator interpolator)
this constructor use default begin token ${ and default end token }
MultiDelimiterInterpolatorFilterReader(Reader in, Interpolator interpolator, RecursionInterceptor ri)
Method Summary
MultiDelimiterInterpolatorFilterReaderaddDelimiterSpec(String delimiterSpec)
StringgetEscapeString()
RecursionInterceptorgetRecursionInterceptor()
booleanisInterpolateWithPrefixPattern()
booleanisPreserveEscapeString()
intread(char[] cbuf, int off, int len)
Reads characters into a portion of an array.
intread()
Returns the next character in the filtered stream, replacing tokens from the original stream.
booleanremoveDelimiterSpec(String delimiterSpec)
MultiDelimiterInterpolatorFilterReadersetDelimiterSpecs(LinkedHashSet specs)
voidsetEscapeString(String escapeString)
voidsetInterpolateWithPrefixPattern(boolean interpolateWithPrefixPattern)
voidsetPreserveEscapeString(boolean preserveEscapeString)
MultiDelimiterInterpolatorFilterReadersetRecursionInterceptor(RecursionInterceptor recursionInterceptor)
longskip(long n)
Skips characters.

Field Detail

DEFAULT_BEGIN_TOKEN

public static final String DEFAULT_BEGIN_TOKEN
Default begin token.

DEFAULT_END_TOKEN

public static final String DEFAULT_END_TOKEN
Default end token.

Constructor Detail

MultiDelimiterInterpolatorFilterReader

public MultiDelimiterInterpolatorFilterReader(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(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(String delimiterSpec)

getEscapeString

public String getEscapeString()

getRecursionInterceptor

public RecursionInterceptor getRecursionInterceptor()

isInterpolateWithPrefixPattern

public boolean isInterpolateWithPrefixPattern()

isPreserveEscapeString

public boolean isPreserveEscapeString()

read

public int read(char[] cbuf, int off, int len)
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: IOException If an I/O error occurs

read

public int read()
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: IOException if the underlying stream throws an IOException during reading

removeDelimiterSpec

public boolean removeDelimiterSpec(String delimiterSpec)

setDelimiterSpecs

public MultiDelimiterInterpolatorFilterReader setDelimiterSpecs(LinkedHashSet specs)

setEscapeString

public void setEscapeString(String escapeString)

setInterpolateWithPrefixPattern

public void setInterpolateWithPrefixPattern(boolean interpolateWithPrefixPattern)

setPreserveEscapeString

public void setPreserveEscapeString(boolean preserveEscapeString)

setRecursionInterceptor

public MultiDelimiterInterpolatorFilterReader setRecursionInterceptor(RecursionInterceptor recursionInterceptor)

skip

public long skip(long n)
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: IllegalArgumentException If n is negative. IOException If an I/O error occurs

Copyright © 2001-2009 Codehaus. All Rights Reserved.