Class InterpolatorFilterReader
java.lang.Object
java.io.Reader
java.io.FilterReader
org.codehaus.plexus.interpolation.InterpolatorFilterReader
- All Implemented Interfaces:
Closeable,AutoCloseable,Readable
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.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Stringstatic final StringDefault begin token.static final StringDefault end token.private Stringprivate Stringprivate booleantrue by default to preserve backward compprivate InterpolatorInterpolator used to interpolateprivate Stringprivate booleanif true escapeString will be preserved \{foo} -> \{foo}private intIndex into previous dataprivate RecursionInterceptorprivate Stringreplacement text from a tokenprivate intIndex into replacement dataprivate booleanFields inherited from class java.io.FilterReader
in -
Constructor Summary
ConstructorsConstructorDescriptionInterpolatorFilterReader(Reader in, Interpolator interpolator) this constructor use default begin token ${ and default end token }InterpolatorFilterReader(Reader in, Interpolator interpolator, String beginToken, String endToken) InterpolatorFilterReader(Reader in, Interpolator interpolator, String beginToken, String endToken, RecursionInterceptor ri) InterpolatorFilterReader(Reader in, Interpolator interpolator, RecursionInterceptor ri) this constructor use default begin token ${ and default end token } -
Method Summary
Modifier and TypeMethodDescriptionbooleanbooleanintread()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(String escapeString) voidsetInterpolateWithPrefixPattern(boolean interpolateWithPrefixPattern) voidsetPreserveEscapeString(boolean preserveEscapeString) setRecursionInterceptor(RecursionInterceptor recursionInterceptor) longskip(long n) Skips characters.Methods inherited from class java.io.FilterReader
close, mark, markSupported, ready, resetMethods inherited from class java.io.Reader
nullReader, read, read, transferTo
-
Field Details
-
interpolator
Interpolator used to interpolate -
recursionInterceptor
- Since:
- 1.12
-
replaceData
replacement text from a token -
replaceIndex
private int replaceIndexIndex into replacement data -
previousIndex
private int previousIndexIndex into previous data -
DEFAULT_BEGIN_TOKEN
Default begin token.- See Also:
-
DEFAULT_END_TOKEN
Default end token.- See Also:
-
beginToken
-
orginalBeginToken
-
endToken
-
interpolateWithPrefixPattern
private boolean interpolateWithPrefixPatterntrue by default to preserve backward comp -
escapeString
-
useEscape
private boolean useEscape -
preserveEscapeString
private boolean preserveEscapeStringif true escapeString will be preserved \{foo} -> \{foo}
-
-
Constructor Details
-
InterpolatorFilterReader
this constructor use default begin token ${ and default end token }- Parameters:
in- reader to useinterpolator- interpolator instance to use
-
InterpolatorFilterReader
public InterpolatorFilterReader(Reader in, Interpolator interpolator, String beginToken, String endToken) - Parameters:
in- reader to useinterpolator- interpolator instance to usebeginToken- start token to useendToken- end token to use
-
InterpolatorFilterReader
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(Reader in, Interpolator interpolator, String beginToken, 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 Details
-
skip
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:
skipin classFilterReader- Parameters:
n- The number of characters to skip- Returns:
- the number of characters actually skipped
- Throws:
IllegalArgumentException- Ifnis negative.IOException- If an I/O error occurs
-
read
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:
readin classFilterReader- 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:
IOException- If an I/O error occurs
-
read
Returns the next character in the filtered stream, replacing tokens from the original stream.- Overrides:
readin classFilterReader- 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
-
isInterpolateWithPrefixPattern
public boolean isInterpolateWithPrefixPattern() -
setInterpolateWithPrefixPattern
public void setInterpolateWithPrefixPattern(boolean interpolateWithPrefixPattern) -
getEscapeString
-
setEscapeString
-
isPreserveEscapeString
public boolean isPreserveEscapeString() -
setPreserveEscapeString
public void setPreserveEscapeString(boolean preserveEscapeString) -
getRecursionInterceptor
-
setRecursionInterceptor
-