Class MultiDelimiterInterpolatorFilterReader
java.lang.Object
java.io.Reader
java.io.FilterReader
org.codehaus.plexus.interpolation.multi.MultiDelimiterInterpolatorFilterReader
- 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.
- Author:
- cstamas
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Default begin token.static final String
Default end token.Fields inherited from class java.io.FilterReader
in
-
Constructor Summary
ConstructorDescriptionMultiDelimiterInterpolatorFilterReader
(Reader in, Interpolator interpolator) this constructor use default begin token ${ and default end token }MultiDelimiterInterpolatorFilterReader
(Reader in, Interpolator interpolator, RecursionInterceptor ri) -
Method Summary
Modifier and TypeMethodDescriptionaddDelimiterSpec
(String delimiterSpec) boolean
boolean
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
(String delimiterSpec) setDelimiterSpecs
(LinkedHashSet<String> specs) void
setEscapeString
(String escapeString) void
setInterpolateWithPrefixPattern
(boolean interpolateWithPrefixPattern) void
setPreserveEscapeString
(boolean preserveEscapeString) setRecursionInterceptor
(RecursionInterceptor recursionInterceptor) long
skip
(long n) Skips characters.Methods inherited from class java.io.FilterReader
close, mark, markSupported, ready, reset
-
Field Details
-
DEFAULT_BEGIN_TOKEN
Default begin token.- See Also:
-
DEFAULT_END_TOKEN
Default end token.- See Also:
-
-
Constructor Details
-
MultiDelimiterInterpolatorFilterReader
this constructor use default begin token ${ and default end token }- Parameters:
in
- reader to useinterpolator
- interpolator instance to use
-
MultiDelimiterInterpolatorFilterReader
public MultiDelimiterInterpolatorFilterReader(Reader in, Interpolator interpolator, RecursionInterceptor ri) - Parameters:
in
- reader to useinterpolator
- interpolator instance to useri
- TheRecursionInterceptor
to use to prevent recursive expressions.- Since:
- 1.12
-
-
Method Details
-
addDelimiterSpec
-
removeDelimiterSpec
-
setDelimiterSpecs
-
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:
skip
in classFilterReader
- Parameters:
n
- The number of characters to skip- Returns:
- the number of characters actually skipped
- Throws:
IllegalArgumentException
- Ifn
is 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:
read
in 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:
read
in 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
public MultiDelimiterInterpolatorFilterReader setRecursionInterceptor(RecursionInterceptor recursionInterceptor)
-