|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
Binary | An interface for binary operators. |
Expression | An Expression can return a TemplateModel value. |
ExpressionElement | An expression element is a tagged interface that represents an expression token. |
Operator | Interface that represents an operator expression. |
Parenthesis | A tagged interface representing parenthesized expressions. |
Unary | An interface for unary operators. |
Variable | An interface for expressions that get their values from the data model. |
Class Summary | |
AbstractBinary | Abstract class that implements most of the surrounding machinery needed for binary expressions. |
And | Performs a logical "and" operation on two template models. |
BooleanLiteral | Represents a boolean literal in a FM-Classic template. |
CloseParen | A null class that represents a closed parenthesis. |
Constant | Represents a constant value within an expression. |
Divide | A division operator. |
Dot | The dot operator. |
DynamicKeyName | A unary operator that uses the string value of an expression as a hash key. |
Equals | Performs an equality test on two template models. |
ExpressionBuilder | A TemplateParser can use this class's static ExpressionBuilder.build(java.util.List)
method to build a complete Expression or sub-expression from a
List of ExpressionElement s. |
ExpressionUtils | Utility methods for evaluating expressions. |
GreaterThan | A greater-than operator. |
GreaterThanOrEquals | A greater-than-or-equals operator. |
HashLiteral | Represents a literal Hash model in a FM-Classic template. |
Identifier | An identifer in a variable. |
LessThan | A less-than operator. |
LessThanOrEquals | A less-than-or-equals operator. |
ListLiteral | Represents a literal List model in a FM-Classic template. |
ListRange | An expression that represents a indexModel of list values. |
MethodCall | A unary operator that calls a TemplateMethodModel. |
Minus | A subtraction operator. |
Modulo | A modulus operator. |
Multiply | A multiplication operator. |
Not | Performs a logical "not" operation on a given template model. |
NotEquals | Performs an inequality test on two template models. |
NumberLiteral | Represents a number literal in a FM-Classic template. |
OpenParen | A null class that represents an open parenthesis. |
Or | Performs a logical "or" operation on two template models. |
Plus | An addition operator. |
StringLiteral | Represents a String literal in a FM-Classic template. |
The mechanics of FM-Classic expressions are implemented
in this package. Expressions are represented as a syntax tree,
of which each node implements the
Expression
interface.
Expressions can then be divided up in two ways:
Runtime expression elements are a subset of the parser symbols.
The special cases are the symbols generated for parenthesized
operators. These are emitted by the parser in order for the
ExpressionBuilder
class
to generate the expression tree with the correct hierarchy.
Other expression elements are either binary or unary operators,
indicating how they should be associated with the operators around
them. Operator precedence is handled by the
ExpressionBuilder
when expressions are constructed.
|
|||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |