public abstract class Parser extends Object
Parser object is to be used as a simple template
for parsing uncomplicated expressions. This object is used to parse
a String. This provides a few methods that can be used
to store and track the reading of data from a buffer. There are two
abstract methods provided to allow this to be subclassed to create
a Parser for a given String.| Modifier and Type | Field and Description |
|---|---|
protected char[] |
buf
This is the buffer that is being parsed.
|
protected int |
count
This represents the length of the buffer.
|
protected int |
off
This represents the current read offset.
|
| Modifier | Constructor and Description |
|---|---|
protected |
Parser()
This is a no argument constructor for the
Parser. |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
digit(char c)
This is used to determine weather or not a given character is
a digit character.
|
protected void |
ensureCapacity(int min)
This ensure that there is enough space in the buffer to allow
for more
char's to be added. |
protected abstract void |
init()
This will initialize the
Parser when it is ready
to parse a new String. |
protected abstract void |
parse()
This is the method that should be implemented to read
the buf.
|
void |
parse(String text)
This is used to parse the
String given to it. |
protected boolean |
skip(String text)
This is used to skip an arbitrary
String within the
char buf. |
protected boolean |
space(char c)
This is used to determine if a given ISO-8859-1 character is
a space character.
|
protected char |
toLower(char c)
This takes a unicode character and assumes an encoding of
ISO-8859-1.
|
protected char[] buf
protected int off
protected int count
protected Parser()
Parser.
This will be invoked by each subclass of this object. It will
set the buffer to a zero length buffer so that when the
ensureCapacity method is used the buf's
length can be checked.public void parse(String text)
String given to it. This
will ensure that the char buffer has enough space
to contain the characters from the String. This
will firstly ensure that the buffer is resized if nessecary. The
second step in this parse method is to initialize
the Parser object so that multiple parse invocations
can be made. The init method will reset this to an
prepared state. Then finally the parse method is
called to parse the char buffer.text - the String to be parsed with this
Parserprotected void ensureCapacity(int min)
char's to be added. If the buffer is
already larger than min then the buffer will not be expanded
at all.min - the minimum size needed to accommodate the charactersprotected boolean space(char c)
c - the character that is being determined by thisprotected boolean digit(char c)
c - the character being determined by this methodprotected char toLower(char c)
c - the char to be converted to lowercaseprotected boolean skip(String text)
String within the
char buf. It checks the length of the String
first to ensure that it will not go out of bounds. A comparison
is then made with the buffers contents and the String
if the reigon in the buffer matched the String then the
offset within the buffer is increased by the String's
length so that it has effectively skipped it.text - this is the String value to be skippedString was skippedprotected abstract void init()
Parser when it is ready
to parse a new String. This will reset the
Parser to a ready state. The init
method is invoked by the Parser when the
parse method is invoked.protected abstract void parse()
init method is invoked.Copyright © 2024. All rights reserved.