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 char
protected int
protected int
protected int
-
Constructor Summary
ConstructorsConstructorDescriptionStringScanner
(String stringToScan) Initialize the new instance with the string that should be scanned. -
Method Summary
Modifier and TypeMethodDescriptionboolean
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
Returns the current position in the stringboolean
hasNext()
Returns true, if the scanner has not yet reached the end.protected int
length()
void
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
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
Restores the position to the value of the latest markPosition() callprotected void
setPosition
(int pos) void
skip
(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)
-