org.pf.text
Class StringScanner

java.lang.Object
  extended by org.pf.text.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

Field Summary
protected  char[] buffer
           
static char END_REACHED
           
protected  int length
           
protected  int pos_marker
           
protected  int position
           
 
Constructor Summary
StringScanner(java.lang.String stringToScan)
          Initialize the new instance with the string that should be scanned.
 
Method Summary
 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

END_REACHED

public static final char END_REACHED
See Also:
Constant Field Values

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.

Method Detail

endReached

public boolean endReached(char character)
Returns true, if the given character indicates that the end of the scanned string is reached.


endNotReached

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


toString

public java.lang.String toString()
Returns the string the scanner was initialized with

Overrides:
toString in class java.lang.Object

skip

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


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.


nextChar

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


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.


hasNext

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


nextNoneWhitespaceChar

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


getPosition

public int getPosition()
Returns the current position in the string


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()

setPosition

protected void setPosition(int pos)