Class CodeBuffer

  • All Implemented Interfaces:
    CharSequence
    Direct Known Subclasses:
    CodeReader

    public class CodeBuffer
    extends Object
    implements CharSequence
    The CodeBuffer class provides all the basic features required to manipulate a source code character stream. Those features are :
    • Read and consume next source code character : pop()
    • Retrieve last consumed character : lastChar()
    • Read without consuming next source code character : peek()
    • Read without consuming character at the specified index after the cursor
    • Position of the pending cursor : line and column
    • Method Detail

      • pop

        public final int pop()
        Read and consume the next character
        Returns:
        the next character or -1 if the end of the stream is reached
      • lastChar

        public final int lastChar()
        Looks at the last consumed character
        Returns:
        the last character or -1 if the no character has been yet consumed
      • peek

        public final int peek()
        Looks at the next character without consuming it
        Returns:
        the next character or -1 if the end of the stream has been reached
      • getLinePosition

        public final int getLinePosition()
        Returns:
        the current line of the cursor
      • getColumnPosition

        public final int getColumnPosition()
        Returns:
        the current column of the cursor
      • setColumnPosition

        public final CodeBuffer setColumnPosition​(int cp)
        Overrides the current column position
      • setLinePosition

        public final void setLinePosition​(int lp)
        Overrides the current line position
      • startRecording

        public final void startRecording()
      • charAt

        public final char charAt​(int index)
        Returns the character at the specified index after the cursor without consuming it
        Specified by:
        charAt in interface CharSequence
        Parameters:
        index - the relative index of the character to be returned
        Returns:
        the desired character
        See Also:
        CharSequence.charAt(int)
      • intAt

        protected final int intAt​(int index)
      • length

        public final int length()
        Returns the relative length of the string (i.e. excluding the popped chars)
        Specified by:
        length in interface CharSequence