Class StringScanner

java.lang.Object
com.sshtools.daemon.util.StringScanner
Direct Known Subclasses:
StringExaminer

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

    Fields
    Modifier and Type
    Field
    Description
    protected char[]
     
    static final char
     
    protected int
     
    protected int
     
    protected int
     
  • Constructor Summary

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

    Modifier and Type
    Method
    Description
    boolean
    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
    Returns the current position in the string
    boolean
    Returns true, if the scanner has not yet reached the end.
    protected int
     
    void
    Remembers the current position for later use with restorePosition()
    char
    Returns the character at the current position and increments the position afterwards by 1.
    char
    Returns the next character that is no whitespace and leaves the position pointer one character after the returned one.
    char
    Returns the character at the current position without changing the position, that is subsequent calls to this method return always the same character.
    void
    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.
    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 Details

    • END_REACHED

      public static final char END_REACHED
      See Also:
    • length

      protected int length
    • position

      protected int position
    • pos_marker

      protected int pos_marker
    • buffer

      protected char[] buffer
  • Constructor Details

    • StringScanner

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

    • 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 String toString()
      Returns the string the scanner was initialized with
      Overrides:
      toString in class 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)