com.google.gdata.util.parser
Class Repeat<T>
java.lang.Object
com.google.gdata.util.parser.Parser<T>
com.google.gdata.util.parser.Repeat<T>
- Type Parameters:
T
-
public class Repeat<T>
- extends Parser<T>
The Repeat
parser returns a successful match if its
subject
parser matches at least min
times, but not
more than max
times. The Repeat
parser is used to
implement the Parser.star()
and Parser.plus()
methods by specifying appropriate values for min
and
max
.
The following matches a string of 1 to 3 letters:
Parse p = Chset.ALPHA.repeat(1, 3);
p.parse("") -> no match
p.parse("a") -> matches "a"
p.parse("aa") -> matches "aa"
p.parse("aaa") -> matches "aaa"
p.parse("aaaa") -> matches "aaa"
Fields inherited from class com.google.gdata.util.parser.Parser |
NO_MATCH |
Constructor Summary |
Repeat(Parser<T> subject,
int min)
Class constructor that is used for creating a Repeat object
that will match its subject min or more times. |
Repeat(Parser<T> subject,
int min,
int max)
Class constructor that is used for creating a Repeat object
that will match its subject at least min times
but not more than max times. |
Method Summary |
int |
parse(char[] buf,
int start,
int end,
T data)
Matches the subject parser against the prefix of the buffer
(buf[start,end) ) being parsed if the subject
parser matches at least min times and not more than
max times in sequence. |
Methods inherited from class com.google.gdata.util.parser.Parser |
action, alternative, difference, intersection, list, optional, parse, parse, parse, plus, repeat, repeat, sequence, sequence, sequence, sequence, star |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Repeat
public Repeat(Parser<T> subject,
int min)
- Class constructor that is used for creating a
Repeat
object
that will match its subject
min
or more times.
- Parameters:
subject
- The Parse
that this parser will repeatedly
match.min
- The minimum number of times the subject
parser
must match.
Repeat
public Repeat(Parser<T> subject,
int min,
int max)
- Class constructor that is used for creating a
Repeat
object
that will match its subject
at least min
times
but not more than max
times. Specifying -1
for
max
causes the parser to match as many times as possible.
- Parameters:
subject
- The Parse
that this parser will repeatedly
match.min
- The minimum number of times the subject
parser
must match.max
- The maximum number of times the subject
parser can
match.
parse
public int parse(char[] buf,
int start,
int end,
T data)
- Matches the
subject
parser against the prefix of the buffer
(buf[start,end)
) being parsed if the subject
parser matches at least min
times and not more than
max
times in sequence.
- Specified by:
parse
in class Parser<T>
- Parameters:
buf
- The character array to match against.start
- The start offset of data within the character array to match
against.end
- The end offset of data within the character array to match
against.data
- User defined object that is passed to
Callback.handle
when an Action
fires.- See Also:
Parser.parse(char[], int, int, T)