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:
java.io.Closeable
,java.lang.AutoCloseable
,java.lang.Readable
public class InterpolatorFilterReaderLineEnding extends AbstractFilterReaderLineEnding
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
Fields Modifier and Type Field Description private java.lang.String
beginToken
static java.lang.String
DEFAULT_BEGIN_TOKEN
Default begin token.static java.lang.String
DEFAULT_END_TOKEN
Default end token.private java.lang.String
endToken
private boolean
eof
private boolean
interpolateWithPrefixPattern
true by default to preserve backward compprivate org.codehaus.plexus.interpolation.Interpolator
interpolator
Interpolator used to interpolateprivate org.codehaus.plexus.interpolation.RecursionInterceptor
recursionInterceptor
private java.lang.String
replaceData
replacement text from a tokenprivate int
replaceIndex
Index into replacement dataprivate boolean
supportMultiLineFiltering
-
Fields inherited from class org.apache.maven.shared.filtering.AbstractFilterReaderLineEnding
delimiters, markLength, useEscape
-
-
Constructor Summary
Constructors Modifier Constructor Description InterpolatorFilterReaderLineEnding(java.io.Reader in, org.codehaus.plexus.interpolation.Interpolator interpolator, java.lang.String beginToken, java.lang.String endToken, boolean supportMultiLineFiltering)
private
InterpolatorFilterReaderLineEnding(java.io.Reader in, org.codehaus.plexus.interpolation.Interpolator interpolator, java.lang.String beginToken, java.lang.String endToken, org.codehaus.plexus.interpolation.RecursionInterceptor ri, boolean supportMultiLineFiltering)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.codehaus.plexus.interpolation.RecursionInterceptor
getRecursionInterceptor()
boolean
isInterpolateWithPrefixPattern()
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)
InterpolatorFilterReaderLineEnding
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
-
-
-
-
Field Detail
-
interpolator
private org.codehaus.plexus.interpolation.Interpolator interpolator
Interpolator used to interpolate
-
recursionInterceptor
private org.codehaus.plexus.interpolation.RecursionInterceptor recursionInterceptor
-
replaceData
private java.lang.String replaceData
replacement text from a token
-
replaceIndex
private int replaceIndex
Index into replacement 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
-
endToken
private java.lang.String endToken
-
interpolateWithPrefixPattern
private boolean interpolateWithPrefixPattern
true by default to preserve backward comp
-
supportMultiLineFiltering
private boolean supportMultiLineFiltering
-
eof
private boolean eof
-
-
Constructor Detail
-
InterpolatorFilterReaderLineEnding
public InterpolatorFilterReaderLineEnding(java.io.Reader in, org.codehaus.plexus.interpolation.Interpolator interpolator, java.lang.String beginToken, java.lang.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(java.io.Reader in, org.codehaus.plexus.interpolation.Interpolator interpolator, java.lang.String beginToken, java.lang.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 Detail
-
skip
public long skip(long n) throws java.io.IOException
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 classjava.io.FilterReader
- Parameters:
n
- The number of characters to skip- Returns:
- the number of characters actually skipped
- Throws:
java.io.IOException
- If an I/O error occurs
-
read
public int read(char[] cbuf, int off, int len) throws java.io.IOException
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 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.IOException
Returns the next character in the filtered stream, replacing tokens from the original stream.- Overrides:
read
in 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()
- 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
-
-