Class CharSequenceReader

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Serializable, java.lang.AutoCloseable, java.lang.Readable

    public class CharSequenceReader
    extends java.io.Reader
    implements java.io.Serializable
    Reader implementation that can read from String, StringBuffer, StringBuilder, CharBuffer or GString.

    Note: Supports mark(int) and reset().

    Note: This class is mostly a copy from Commons IO and is intended for internal Groovy usage only. It may be deprecated and removed from Groovy at a faster pace than other classes. If you need this functionality in your Groovy programs, we recommend using the Commons IO equivalent directly.

    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from class java.io.Reader

        lock
    • Constructor Summary

      Constructors 
      Constructor Description
      CharSequenceReader​(java.lang.CharSequence charSequence)
      Construct a new instance with the specified character sequence.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Close resets the reader back to the start and removes any marked position.
      void mark​(int readAheadLimit)
      Mark the current position.
      boolean markSupported()
      Mark is supported (returns true).
      int read()
      Read a single character.
      int read​(char[] array, int offset, int length)
      Read the sepcified number of characters into the array.
      void reset()
      Reset the reader to the last marked position (or the beginning if mark has not been called).
      long skip​(long n)
      Skip the specified number of characters.
      java.lang.String toString()
      Return a String representation of the underlying character sequence.
      • Methods inherited from class java.io.Reader

        nullReader, read, read, ready, transferTo
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • CharSequenceReader

        public CharSequenceReader​(java.lang.CharSequence charSequence)
        Construct a new instance with the specified character sequence.
        Parameters:
        charSequence - The character sequence, may be null
    • Method Detail

      • close

        public void close()
        Close resets the reader back to the start and removes any marked position.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in class java.io.Reader
      • mark

        public void mark​(int readAheadLimit)
        Mark the current position.
        Overrides:
        mark in class java.io.Reader
        Parameters:
        readAheadLimit - ignored
      • markSupported

        public boolean markSupported()
        Mark is supported (returns true).
        Overrides:
        markSupported in class java.io.Reader
        Returns:
        true
      • read

        public int read()
        Read a single character.
        Overrides:
        read in class java.io.Reader
        Returns:
        the next character from the character sequence or -1 if the end has been reached.
      • read

        public int read​(char[] array,
                        int offset,
                        int length)
        Read the sepcified number of characters into the array.
        Specified by:
        read in class java.io.Reader
        Parameters:
        array - The array to store the characters in
        offset - The starting position in the array to store
        length - The maximum number of characters to read
        Returns:
        The number of characters read or -1 if there are no more
      • reset

        public void reset()
        Reset the reader to the last marked position (or the beginning if mark has not been called).
        Overrides:
        reset in class java.io.Reader
      • skip

        public long skip​(long n)
        Skip the specified number of characters.
        Overrides:
        skip in class java.io.Reader
        Parameters:
        n - The number of characters to skip
        Returns:
        The actual number of characters skipped
      • toString

        public java.lang.String toString()
        Return a String representation of the underlying character sequence.
        Overrides:
        toString in class java.lang.Object
        Returns:
        The contents of the character sequence