Package com.sshtools.daemon.util
Class StringScanner
java.lang.Object
com.sshtools.daemon.util.StringScanner
- Direct Known Subclasses:
StringExaminer
Simple scanner that allows to navigate over the characters of a string.
- Version:
- 1.1
- Author:
- Manfred Duchrow
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected char[]static final charprotected intprotected intprotected int -
Constructor Summary
ConstructorsConstructorDescriptionStringScanner(String stringToScan) Initialize the new instance with the string that should be scanned. -
Method Summary
Modifier and TypeMethodDescriptionbooleanatEnd()Returns true, if the scanner has reached the end and a further invocation of nextChar() would return the END_REACHED character.booleanendNotReached(char character) Returns true, if the given character does not indicate that the end of the scanned string si reached.booleanendReached(char character) Returns true, if the given character indicates that the end of the scanned string is reached.intReturns the current position in the stringbooleanhasNext()Returns true, if the scanner has not yet reached the end.protected intlength()voidRemembers the current position for later use with restorePosition()charnextChar()Returns the character at the current position and increments the position afterwards by 1.charReturns the next character that is no whitespace and leaves the position pointer one character after the returned one.charpeek()Returns the character at the current position without changing the position, that is subsequent calls to this method return always the same character.voidRestores the position to the value of the latest markPosition() callprotected voidsetPosition(int pos) voidskip(int count) Moves the position pointer count characters.toString()Returns the string the scanner was initialized with
-
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
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
Returns the string the scanner was initialized with -
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)
-