Class InterpolatorFilterReaderLineEnding
java.lang.Object
java.io.Reader
java.io.FilterReader
org.apache.maven.shared.filtering.AbstractFilterReaderLineEnding
org.apache.maven.shared.filtering.InterpolatorFilterReaderLineEnding
- 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.
- Since:
- 1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String
static final String
Default begin token.static final String
Default end token.private String
private boolean
private boolean
true by default to preserve backward compprivate org.codehaus.plexus.interpolation.Interpolator
Interpolator used to interpolateprivate org.codehaus.plexus.interpolation.RecursionInterceptor
private String
replacement text from a tokenprivate int
Index into replacement dataprivate boolean
Fields inherited from class org.apache.maven.shared.filtering.AbstractFilterReaderLineEnding
delimiters, markLength, useEscape
Fields inherited from class java.io.FilterReader
in
-
Constructor Summary
ConstructorsModifierConstructorDescriptionInterpolatorFilterReaderLineEnding
(Reader in, org.codehaus.plexus.interpolation.Interpolator interpolator, String beginToken, String endToken, boolean supportMultiLineFiltering) private
InterpolatorFilterReaderLineEnding
(Reader in, org.codehaus.plexus.interpolation.Interpolator interpolator, String beginToken, String endToken, org.codehaus.plexus.interpolation.RecursionInterceptor ri, boolean supportMultiLineFiltering) -
Method Summary
Modifier and TypeMethodDescriptionorg.codehaus.plexus.interpolation.RecursionInterceptor
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.void
setInterpolateWithPrefixPattern
(boolean interpolateWithPrefixPattern) setRecursionInterceptor
(org.codehaus.plexus.interpolation.RecursionInterceptor theRecursionInterceptor) long
skip
(long n) Skips characters.Methods inherited from class org.apache.maven.shared.filtering.AbstractFilterReaderLineEnding
calculateMarkLength, getEscapeString, isPreserveEscapeString, setEscapeString, setPreserveEscapeString
Methods inherited from class java.io.FilterReader
close, mark, markSupported, ready, reset
Methods inherited from class java.io.Reader
nullReader, read, read, transferTo
-
Field Details
-
interpolator
private org.codehaus.plexus.interpolation.Interpolator interpolatorInterpolator used to interpolate -
recursionInterceptor
private org.codehaus.plexus.interpolation.RecursionInterceptor recursionInterceptor -
replaceData
replacement text from a token -
replaceIndex
private int replaceIndexIndex into replacement data -
DEFAULT_BEGIN_TOKEN
Default begin token.- See Also:
-
DEFAULT_END_TOKEN
Default end token.- See Also:
-
beginToken
-
endToken
-
interpolateWithPrefixPattern
private boolean interpolateWithPrefixPatterntrue by default to preserve backward comp -
supportMultiLineFiltering
private boolean supportMultiLineFiltering -
eof
private boolean eof
-
-
Constructor Details
-
InterpolatorFilterReaderLineEnding
public InterpolatorFilterReaderLineEnding(Reader in, org.codehaus.plexus.interpolation.Interpolator interpolator, String beginToken, String endToken, boolean supportMultiLineFiltering) - Parameters:
in
- reader to useinterpolator
- interpolator instance to usebeginToken
- start token to useendToken
- end token to usesupportMultiLineFiltering
- If multi line filtering is allowed
-
InterpolatorFilterReaderLineEnding
private InterpolatorFilterReaderLineEnding(Reader in, org.codehaus.plexus.interpolation.Interpolator interpolator, String beginToken, String endToken, org.codehaus.plexus.interpolation.RecursionInterceptor ri, boolean supportMultiLineFiltering) - Parameters:
in
- reader to useinterpolator
- interpolator instance to usebeginToken
- start token to useendToken
- end token to useri
- TheRecursionInterceptor
to use to prevent recursive expressions.supportMultiLineFiltering
- If multi line filtering is allowed
-
-
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:
skip
in classFilterReader
- Parameters:
n
- The number of characters to skip- Returns:
- the number of characters actually skipped
- Throws:
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()- Returns:
- current state of interpolate with prefix pattern.
-
setInterpolateWithPrefixPattern
public void setInterpolateWithPrefixPattern(boolean interpolateWithPrefixPattern) - Parameters:
interpolateWithPrefixPattern
- interpolate with prefix pattern.
-
getRecursionInterceptor
public org.codehaus.plexus.interpolation.RecursionInterceptor getRecursionInterceptor()- Returns:
recursionInterceptor
-
setRecursionInterceptor
public InterpolatorFilterReaderLineEnding setRecursionInterceptor(org.codehaus.plexus.interpolation.RecursionInterceptor theRecursionInterceptor) - Parameters:
theRecursionInterceptor
-RecursionInterceptor
- Returns:
InterpolatorFilterReaderLineEnding
-