public abstract class BaseSimpleParser extends Object
Modifier and Type | Field and Description |
---|---|
protected boolean |
allowEscape |
protected String |
expression |
protected int |
index |
protected List<SimpleNode> |
nodes |
protected int |
previousIndex |
protected SimpleToken |
token |
protected List<SimpleToken> |
tokens |
Modifier | Constructor and Description |
---|---|
protected |
BaseSimpleParser(String expression,
boolean allowEscape) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
accept(TokenType accept)
Accept the given token.
|
protected void |
clear()
Clears the parser state, which means it can be used for parsing a new input.
|
protected void |
expect(TokenType expect)
Expect a given token
|
protected void |
expectAndAcceptMore(TokenType expect)
Expect and accept a given number of tokens in sequence.
|
protected void |
nextToken()
Advances the parser position to the next known
SimpleToken
in the input. |
protected void |
nextToken(TokenType... filter)
Advances the parser position to the next known
SimpleToken
in the input. |
protected void |
prepareBlocks()
Prepares blocks, such as functions, single or double quoted texts.
|
protected void |
prepareUnaryExpressions()
Prepares unary expressions.
|
protected final String expression
protected final List<SimpleToken> tokens
protected final List<SimpleNode> nodes
protected SimpleToken token
protected int previousIndex
protected int index
protected boolean allowEscape
protected BaseSimpleParser(String expression, boolean allowEscape)
protected void nextToken()
SimpleToken
in the input.protected void nextToken(TokenType... filter)
SimpleToken
in the input.filter
- filter for accepted token typesprotected void clear()
protected void prepareBlocks()
Block
s in the AST. This is done
by linking child nodes
which are within the start and end of the blocks,
as child to the given block. This is done to have the AST graph updated and prepared properly.
So when the AST node is later used to create the Predicate
s
or Expression
s to be used by Camel then the AST graph
has a linked and prepared graph of nodes which represent the input expression.protected void prepareUnaryExpressions()
Predicate
s
or Expression
s to be used by Camel then the AST graph
has a linked and prepared graph of nodes which represent the input expression.protected boolean accept(TokenType accept)
accept
- the tokenprotected void expect(TokenType expect) throws SimpleParserException
expect
- the token to expectSimpleParserException
- is thrown if the token is not as expectedprotected void expectAndAcceptMore(TokenType expect)
expect
- the token to acceptApache Camel