Class InterpolatorFilterReaderLineEnding

All Implemented Interfaces:
Closeable, AutoCloseable, 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 Details

    • interpolator

      private org.codehaus.plexus.interpolation.Interpolator interpolator
      Interpolator used to interpolate
    • recursionInterceptor

      private org.codehaus.plexus.interpolation.RecursionInterceptor recursionInterceptor
    • replaceData

      private String replaceData
      replacement text from a token
    • replaceIndex

      private int replaceIndex
      Index into replacement data
    • DEFAULT_BEGIN_TOKEN

      public static final String DEFAULT_BEGIN_TOKEN
      Default begin token.
      See Also:
    • DEFAULT_END_TOKEN

      public static final String DEFAULT_END_TOKEN
      Default end token.
      See Also:
    • beginToken

      private String beginToken
    • endToken

      private String endToken
    • interpolateWithPrefixPattern

      private boolean interpolateWithPrefixPattern
      true 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 use
      interpolator - interpolator instance to use
      beginToken - start token to use
      endToken - end token to use
      supportMultiLineFiltering - 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 use
      interpolator - interpolator instance to use
      beginToken - start token to use
      endToken - end token to use
      ri - The RecursionInterceptor to use to prevent recursive expressions.
      supportMultiLineFiltering - If multi line filtering is allowed
  • Method Details

    • skip

      public long skip(long n) throws 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 class FilterReader
      Parameters:
      n - The number of characters to skip
      Returns:
      the number of characters actually skipped
      Throws:
      IOException - If an I/O error occurs
    • read

      public int read(char[] cbuf, int off, int len) throws 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 class FilterReader
      Parameters:
      cbuf - Destination buffer to write characters to. Must not be null.
      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

      public int read() throws IOException
      Returns the next character in the filtered stream, replacing tokens from the original stream.
      Overrides:
      read in class FilterReader
      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