public class ELParser
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
ELParser.Char |
private static class |
ELParser.Id |
private static class |
ELParser.QuotedString |
private static class |
ELParser.Token |
Modifier and Type | Field and Description |
---|---|
private ELParser.Token |
curToken |
private ELNode.Nodes |
ELexpr |
private boolean |
escapeBS |
private ELNode.Nodes |
expr |
private java.lang.String |
expression |
private int |
index |
private boolean |
isDollarExpr |
private ELParser.Token |
prevToken |
private static java.lang.String[] |
reservedWords |
Constructor and Description |
---|
ELParser(java.lang.String expression) |
Modifier and Type | Method and Description |
---|---|
private int |
getIndex() |
private boolean |
hasNext() |
private boolean |
hasNextChar() |
private boolean |
isELReserved(java.lang.String id)
Test if an id is a reserved word in EL
|
private char |
nextChar() |
private ELParser.Token |
nextToken() |
static ELNode.Nodes |
parse(java.lang.String expression)
Parse an EL expression
|
private ELNode.Nodes |
parseEL()
Parse an EL expression string '${...} or #{...}'
|
private boolean |
parseFunction()
Parse for a function
FunctionInvokation ::= (identifier ':')? identifier '('
(Expression (,Expression)*)? ')'
Note: currently we don't parse arguments
In EL 1.2, method can include parameters, so we need to exclude
cases such as a.b().
|
private ELParser.Token |
parseQuotedChars(char quote) |
private int |
peekChar() |
private void |
setIndex(int i) |
private void |
skipSpaces() |
private java.lang.String |
skipUntilEL()
Skip until an EL expression ('${' or '#{') is reached, allowing escape
sequences '\\', '\$', and '\#'.
|
private ELParser.Token curToken
private ELParser.Token prevToken
private ELNode.Nodes expr
private ELNode.Nodes ELexpr
private int index
private java.lang.String expression
private boolean escapeBS
private boolean isDollarExpr
private static final java.lang.String[] reservedWords
public static ELNode.Nodes parse(java.lang.String expression)
expression
- The input expression string of the form
( (Char* | (('${' | '#{') Char* '}') )+private ELNode.Nodes parseEL()
private boolean parseFunction()
private boolean isELReserved(java.lang.String id)
private java.lang.String skipUntilEL()
private boolean hasNext()
private ELParser.Token nextToken()
private ELParser.Token parseQuotedChars(char quote)
private void skipSpaces()
private boolean hasNextChar()
private char nextChar()
private int peekChar()
private int getIndex()
private void setIndex(int i)