public abstract class Expression extends Object implements Serializable
Modifier and Type | Class and Description |
---|---|
static class |
Expression.DyadicOperator
"Dyadic" operator performs operation on one or two operands.
|
static class |
Expression.MonadicOperator
"Monadic" operator performs a function on one operand.
|
static class |
Expression.Operator
Representation of an Operator.
|
Modifier | Constructor and Description |
---|---|
protected |
Expression()
Constructor.
|
protected |
Expression(Expression.MonadicOperator op,
Expression operand)
Perform a function
op on operand |
protected |
Expression(Expression operand1,
Expression.DyadicOperator op,
Expression operand2)
Performs a function on two arguments.
|
Modifier and Type | Method and Description |
---|---|
abstract Symbol |
bind(SymbolTable symtbl)
Method to bind the expression to the symbol table as appropriate.
|
Object |
evaluate(ExpressionEvaluator eval)
Method to evaluate this expression, using the passed evaluator.
|
String |
getAlias() |
Expression |
getLeft()
Accessor for the left hand expression.
|
Expression.Operator |
getOperator()
The operator to be performed by this expression.
|
Expression |
getParent()
Accessor for the parent expression where this expression is access from.
|
Expression |
getRight()
Accessor for the right hand expression.
|
Symbol |
getSymbol()
Accessor for the symbol for this expression (if set).
|
void |
setAlias(String alias) |
void |
setLeft(Expression expr) |
void |
setRight(Expression expr) |
protected Expression parent
protected Expression.Operator op
protected Expression left
protected Expression right
protected Symbol symbol
protected String alias
public static final Expression.DyadicOperator OP_OR
public static final Expression.DyadicOperator OP_AND
public static final Expression.MonadicOperator OP_NOT
public static final Expression.DyadicOperator OP_EQ
public static final Expression.DyadicOperator OP_NOTEQ
public static final Expression.DyadicOperator OP_LT
public static final Expression.DyadicOperator OP_LTEQ
public static final Expression.DyadicOperator OP_GT
public static final Expression.DyadicOperator OP_GTEQ
public static final Expression.DyadicOperator OP_LIKE
public static final Expression.DyadicOperator OP_IS
public static final Expression.DyadicOperator OP_ISNOT
public static final Expression.DyadicOperator OP_CAST
public static final Expression.DyadicOperator OP_IN
public static final Expression.DyadicOperator OP_NOTIN
public static final Expression.DyadicOperator OP_BIT_OR
public static final Expression.DyadicOperator OP_BIT_XOR
public static final Expression.DyadicOperator OP_BIT_AND
public static final Expression.DyadicOperator OP_ADD
public static final Expression.DyadicOperator OP_SUB
public static final Expression.DyadicOperator OP_CONCAT
public static final Expression.DyadicOperator OP_MUL
public static final Expression.DyadicOperator OP_DIV
public static final Expression.DyadicOperator OP_MOD
public static final Expression.MonadicOperator OP_NEG
public static final Expression.MonadicOperator OP_COM
public static final Expression.MonadicOperator OP_DISTINCT
protected Expression()
protected Expression(Expression.MonadicOperator op, Expression operand)
op
on operand
op
- operatoroperand
- operandprotected Expression(Expression operand1, Expression.DyadicOperator op, Expression operand2)
operand1
- the first expressionop
- the operator between operandsoperand2
- the second expressionpublic Expression getParent()
public void setLeft(Expression expr)
public void setRight(Expression expr)
public Expression.Operator getOperator()
public Expression getLeft()
public Expression getRight()
public Symbol getSymbol()
public void setAlias(String alias)
public String getAlias()
public Object evaluate(ExpressionEvaluator eval)
eval
- Evaluatorpublic abstract Symbol bind(SymbolTable symtbl)
symtbl
- Symbol tableCopyright © 2020. All rights reserved.