Class InterpolatorFilterReader
- java.lang.Object
-
- java.io.Reader
-
- java.io.FilterReader
-
- org.codehaus.plexus.interpolation.InterpolatorFilterReader
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.lang.Readable
public class InterpolatorFilterReader extends java.io.FilterReaderA 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.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.StringbeginTokenstatic java.lang.StringDEFAULT_BEGIN_TOKENDefault begin token.static java.lang.StringDEFAULT_END_TOKENDefault end token.private java.lang.StringendTokenprivate java.lang.StringescapeStringprivate booleaninterpolateWithPrefixPatterntrue by default to preserve backward compprivate InterpolatorinterpolatorInterpolator used to interpolateprivate java.lang.StringorginalBeginTokenprivate booleanpreserveEscapeStringif true escapeString will be preserved \{foo} -> \{foo}private intpreviousIndexIndex into previous dataprivate RecursionInterceptorrecursionInterceptorprivate java.lang.StringreplaceDatareplacement text from a tokenprivate intreplaceIndexIndex into replacement dataprivate booleanuseEscape
-
Constructor Summary
Constructors Constructor Description InterpolatorFilterReader(java.io.Reader in, Interpolator interpolator)this constructor use default begin token ${ and default end token }InterpolatorFilterReader(java.io.Reader in, Interpolator interpolator, java.lang.String beginToken, java.lang.String endToken)InterpolatorFilterReader(java.io.Reader in, Interpolator interpolator, java.lang.String beginToken, java.lang.String endToken, RecursionInterceptor ri)InterpolatorFilterReader(java.io.Reader in, Interpolator interpolator, RecursionInterceptor ri)this constructor use default begin token ${ and default end token }
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetEscapeString()RecursionInterceptorgetRecursionInterceptor()booleanisInterpolateWithPrefixPattern()booleanisPreserveEscapeString()intread()Returns the next character in the filtered stream, replacing tokens from the original stream.intread(char[] cbuf, int off, int len)Reads characters into a portion of an array.voidsetEscapeString(java.lang.String escapeString)voidsetInterpolateWithPrefixPattern(boolean interpolateWithPrefixPattern)voidsetPreserveEscapeString(boolean preserveEscapeString)InterpolatorFilterReadersetRecursionInterceptor(RecursionInterceptor recursionInterceptor)longskip(long n)Skips characters.
-
-
-
Field Detail
-
interpolator
private Interpolator interpolator
Interpolator used to interpolate
-
recursionInterceptor
private RecursionInterceptor recursionInterceptor
- Since:
- 1.12
-
replaceData
private java.lang.String replaceData
replacement text from a token
-
replaceIndex
private int replaceIndex
Index into replacement data
-
previousIndex
private int previousIndex
Index into previous data
-
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
-
beginToken
private java.lang.String beginToken
-
orginalBeginToken
private java.lang.String orginalBeginToken
-
endToken
private java.lang.String endToken
-
interpolateWithPrefixPattern
private boolean interpolateWithPrefixPattern
true by default to preserve backward comp
-
escapeString
private java.lang.String escapeString
-
useEscape
private boolean useEscape
-
preserveEscapeString
private boolean preserveEscapeString
if true escapeString will be preserved \{foo} -> \{foo}
-
-
Constructor Detail
-
InterpolatorFilterReader
public InterpolatorFilterReader(java.io.Reader in, Interpolator interpolator)this constructor use default begin token ${ and default end token }- Parameters:
in- reader to useinterpolator- interpolator instance to use
-
InterpolatorFilterReader
public InterpolatorFilterReader(java.io.Reader in, Interpolator interpolator, java.lang.String beginToken, java.lang.String endToken)- Parameters:
in- reader to useinterpolator- interpolator instance to usebeginToken- start token to useendToken- end token to use
-
InterpolatorFilterReader
public InterpolatorFilterReader(java.io.Reader in, Interpolator interpolator, RecursionInterceptor ri)this constructor use default begin token ${ and default end token }- Parameters:
in- reader to useinterpolator- interpolator instance to useri- TheRecursionInterceptorto use to prevent recursive expressions.- Since:
- 1.12
-
InterpolatorFilterReader
public InterpolatorFilterReader(java.io.Reader in, Interpolator interpolator, java.lang.String beginToken, java.lang.String endToken, RecursionInterceptor ri)- Parameters:
in- reader to useinterpolator- interpolator instance to usebeginToken- start token to useendToken- end token to useri- TheRecursionInterceptorto use to prevent recursive expressions.- Since:
- 1.12
-
-
Method Detail
-
skip
public long skip(long n) throws java.io.IOExceptionSkips characters. This method will block until some characters are available, an I/O error occurs, or the end of the stream is reached.- Overrides:
skipin classjava.io.FilterReader- Parameters:
n- The number of characters to skip- Returns:
- the number of characters actually skipped
- Throws:
java.lang.IllegalArgumentException- Ifnis negative.java.io.IOException- If an I/O error occurs
-
read
public 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:
readin 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
-
read
public int read() throws java.io.IOExceptionReturns the next character in the filtered stream, replacing tokens from the original stream.- Overrides:
readin classjava.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 InterpolatorFilterReader setRecursionInterceptor(RecursionInterceptor recursionInterceptor)
-
-