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 AbstractFilterReaderLineEnding
delimiters, markLength, useEscapeFields inherited from class 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 AbstractFilterReaderLineEnding
calculateMarkLength, getEscapeString, isPreserveEscapeString, setEscapeString, setPreserveEscapeStringMethods inherited from class FilterReader
close, mark, markSupported, ready, resetMethods inherited from class Reader
nullReader, of, read, read, readAllAsString, readAllLines, transferTo
-
Field Details
-
DEFAULT_BEGIN_TOKEN
-
DEFAULT_END_TOKEN
-
-
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
-