Class StringScanner

  • Direct Known Subclasses:
    StringExaminer

    public class StringScanner
    extends java.lang.Object
    Simple scanner that allows to navigate over the characters of a string.
    Version:
    1.1
    Author:
    Manfred Duchrow
    • Constructor Summary

      Constructors 
      Constructor Description
      StringScanner​(java.lang.String stringToScan)
      Initialize the new instance with the string that should be scanned.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean atEnd()
      Returns true, if the scanner has reached the end and a further invocation of nextChar() would return the END_REACHED character.
      boolean endNotReached​(char character)
      Returns true, if the given character does not indicate that the end of the scanned string si reached.
      boolean endReached​(char character)
      Returns true, if the given character indicates that the end of the scanned string is reached.
      int getPosition()
      Returns the current position in the string
      boolean hasNext()
      Returns true, if the scanner has not yet reached the end.
      protected int length()  
      void markPosition()
      Remembers the current position for later use with restorePosition()
      char nextChar()
      Returns the character at the current position and increments the position afterwards by 1.
      char nextNoneWhitespaceChar()
      Returns the next character that is no whitespace and leaves the position pointer one character after the returned one.
      char peek()
      Returns the character at the current position without changing the position, that is subsequent calls to this method return always the same character.
      void restorePosition()
      Restores the position to the value of the latest markPosition() call
      protected void setPosition​(int pos)  
      void skip​(int count)
      Moves the position pointer count characters.
      java.lang.String toString()
      Returns the string the scanner was initialized with
      • Methods inherited from class java.lang.Object

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

      • length

        protected int length
      • position

        protected int position
      • pos_marker

        protected int pos_marker
      • buffer

        protected char[] buffer
    • Constructor Detail

      • StringScanner

        public StringScanner​(java.lang.String stringToScan)
        Initialize the new instance with the string that should be scanned.
        Parameters:
        stringToScan -
    • Method Detail

      • endReached

        public boolean endReached​(char character)
        Returns true, if the given character indicates that the end of the scanned string is reached.
        Parameters:
        character -
        Returns:
      • endNotReached

        public boolean endNotReached​(char character)
        Returns true, if the given character does not indicate that the end of the scanned string si reached.
        Parameters:
        character -
        Returns:
      • toString

        public java.lang.String toString()
        Returns the string the scanner was initialized with
        Overrides:
        toString in class java.lang.Object
        Returns:
      • skip

        public void skip​(int count)
        Moves the position pointer count characters. positive values move forwards, negative backwards. The position never becomes negative !
        Parameters:
        count -
      • peek

        public char peek()
        Returns the character at the current position without changing the position, that is subsequent calls to this method return always the same character.
        Returns:
      • nextChar

        public char nextChar()
        Returns the character at the current position and increments the position afterwards by 1.
        Returns:
      • atEnd

        public boolean atEnd()
        Returns true, if the scanner has reached the end and a further invocation of nextChar() would return the END_REACHED character.
        Returns:
      • hasNext

        public boolean hasNext()
        Returns true, if the scanner has not yet reached the end.
        Returns:
      • nextNoneWhitespaceChar

        public char nextNoneWhitespaceChar()
        Returns the next character that is no whitespace and leaves the position pointer one character after the returned one.
        Returns:
      • getPosition

        public int getPosition()
        Returns the current position in the string
        Returns:
      • markPosition

        public void markPosition()
        Remembers the current position for later use with restorePosition()
      • restorePosition

        public void restorePosition()
        Restores the position to the value of the latest markPosition() call
      • length

        protected int length()
        Returns:
      • setPosition

        protected void setPosition​(int pos)