Package org.simpleframework.common.parse
Class Parser
- java.lang.Object
-
- org.simpleframework.common.parse.Parser
-
- Direct Known Subclasses:
AddressParser
,ContentDispositionParser
,ContentTypeParser
,CookieParser
,DateParser
,ListParser
,MapParser
,PathParser
,PrincipalParser
public abstract class Parser extends java.lang.Object
ThisParser
object is to be used as a simple template for parsing uncomplicated expressions. This object is used to parse aString
. 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 aParser
for a givenString
.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
Parser()
This is a no argument constructor for theParser
.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method 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 morechar
's to be added.protected abstract void
init()
This will initialize theParser
when it is ready to parse a newString
.protected abstract void
parse()
This is the method that should be implemented to read the buf.void
parse(java.lang.String text)
This is used to parse theString
given to it.protected boolean
skip(java.lang.String text)
This is used to skip an arbitraryString
within thechar
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.
-
-
-
Method Detail
-
parse
public void parse(java.lang.String text)
This is used to parse theString
given to it. This will ensure that thechar
buffer has enough space to contain the characters from theString
. This will firstly ensure that the buffer is resized if nessecary. The second step in thisparse
method is to initialize theParser
object so that multiple parse invocations can be made. Theinit
method will reset this to an prepared state. Then finally theparse
method is called to parse thechar
buffer.- Parameters:
text
- theString
to be parsed with thisParser
-
ensureCapacity
protected void ensureCapacity(int min)
This ensure that there is enough space in the buffer to allow for morechar
's to be added. If the buffer is already larger than min then the buffer will not be expanded at all.- Parameters:
min
- the minimum size needed to accommodate the characters
-
space
protected boolean space(char c)
This is used to determine if a given ISO-8859-1 character is a space character. That is a whitespace character this sees the, space, carriage return and line feed characters as whitespace characters.- Parameters:
c
- the character that is being determined by this- Returns:
- true if the character given it is a space character
-
digit
protected boolean digit(char c)
This is used to determine weather or not a given character is a digit character. It assumes iso-8859-1 encoding to compare.- Parameters:
c
- the character being determined by this method- Returns:
- true if the character given is a digit character
-
toLower
protected char toLower(char c)
This takes a unicode character and assumes an encoding of ISO-8859-1. This then checks to see if the given character is uppercase if it is it converts it into is ISO-8859-1 lowercase char.- Parameters:
c
- thechar
to be converted to lowercase- Returns:
- the lowercase ISO-8859-1 of the given character
-
skip
protected boolean skip(java.lang.String text)
This is used to skip an arbitraryString
within thechar
buf. It checks the length of theString
first to ensure that it will not go out of bounds. A comparison is then made with the buffers contents and theString
if the reigon in the buffer matched theString
then the offset within the buffer is increased by theString
's length so that it has effectively skipped it.- Parameters:
text
- this is theString
value to be skipped- Returns:
- true if the
String
was skipped
-
init
protected abstract void init()
This will initialize theParser
when it is ready to parse a newString
. This will reset theParser
to a ready state. Theinit
method is invoked by theParser
when theparse
method is invoked.
-
parse
protected abstract void parse()
This is the method that should be implemented to read the buf. This method should attempt to extract tokens from the buffer so that thes tokens may some how be used to determine the semantics. This method is invoked after theinit
method is invoked.
-
-