Class MultiDelimiterInterpolatorFilterReaderLineEnding
java.lang.Object
java.io.Reader
java.io.FilterReader
org.apache.maven.shared.filtering.AbstractFilterReaderLineEnding
org.apache.maven.shared.filtering.MultiDelimiterInterpolatorFilterReaderLineEnding
- All Implemented Interfaces:
Closeable,AutoCloseable,Readable
public class MultiDelimiterInterpolatorFilterReaderLineEnding
extends AbstractFilterReaderLineEnding
A FilterReader implementation, that works with Interpolator interface instead of its own interpolation
implementation. This implementation is heavily based on org.codehaus.plexus.util.InterpolationFilterReader.
- Since:
- 1.0
- Author:
- cstamas, Olivier Lamy
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringDefault begin token.static final StringDefault end token.Fields inherited from class org.apache.maven.shared.filtering.AbstractFilterReaderLineEnding
delimiters, markLength, useEscapeFields inherited from class java.io.FilterReader
in -
Constructor Summary
ConstructorsConstructorDescriptionMultiDelimiterInterpolatorFilterReaderLineEnding(Reader in, org.codehaus.plexus.interpolation.Interpolator interpolator, boolean supportMultiLineFiltering) This constructor uses default begin token ${ and default end token }.MultiDelimiterInterpolatorFilterReaderLineEnding(Reader in, org.codehaus.plexus.interpolation.Interpolator interpolator, org.codehaus.plexus.interpolation.RecursionInterceptor ri, boolean supportMultiLineFiltering) -
Method Summary
Modifier and TypeMethodDescriptionorg.codehaus.plexus.interpolation.RecursionInterceptorbooleanintread()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.booleanremoveDelimiterSpec(String delimiterSpec) setDelimiterSpecs(Set<String> specs) voidsetInterpolateWithPrefixPattern(boolean interpolateWithPrefixPattern) setRecursionInterceptor(org.codehaus.plexus.interpolation.RecursionInterceptor givenRecursionInterceptor) longskip(long n) Skips characters.Methods inherited from class org.apache.maven.shared.filtering.AbstractFilterReaderLineEnding
calculateMarkLength, getEscapeString, isPreserveEscapeString, setEscapeString, setPreserveEscapeStringMethods 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
-
MultiDelimiterInterpolatorFilterReaderLineEnding
public MultiDelimiterInterpolatorFilterReaderLineEnding(Reader in, org.codehaus.plexus.interpolation.Interpolator interpolator, boolean supportMultiLineFiltering) This constructor uses default begin token ${ and default end token }.- Parameters:
in- reader to useinterpolator- interpolator instance to usesupportMultiLineFiltering- If multi line filtering is allowed
-
MultiDelimiterInterpolatorFilterReaderLineEnding
public MultiDelimiterInterpolatorFilterReaderLineEnding(Reader in, org.codehaus.plexus.interpolation.Interpolator interpolator, org.codehaus.plexus.interpolation.RecursionInterceptor ri, boolean supportMultiLineFiltering) - Parameters:
in- reader to useinterpolator- interpolator instance to useri- TheRecursionInterceptorto use to prevent recursive expressions.supportMultiLineFiltering- If multi line filtering is allowed
-
-
Method Details
-
removeDelimiterSpec
- Parameters:
delimiterSpec- delimiter spec.- Returns:
- true/false.
-
setDelimiterSpecs
- Parameters:
specs- set of specs.- Returns:
MultiDelimiterInterpolatorFilterReaderLineEnding
-
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()- Returns:
- interpolate with prefix pattern
true(active)falseotherwise.
-
setInterpolateWithPrefixPattern
public void setInterpolateWithPrefixPattern(boolean interpolateWithPrefixPattern) - Parameters:
interpolateWithPrefixPattern- set the interpolate with prefix pattern.
-
getRecursionInterceptor
public org.codehaus.plexus.interpolation.RecursionInterceptor getRecursionInterceptor()- Returns:
RecursionInterceptor
-
setRecursionInterceptor
public AbstractFilterReaderLineEnding setRecursionInterceptor(org.codehaus.plexus.interpolation.RecursionInterceptor givenRecursionInterceptor) - Parameters:
givenRecursionInterceptor-RecursionInterceptor- Returns:
- this
-