public abstract class Expression<T> extends Object
Constructor and Description |
---|
Expression() |
Modifier and Type | Method and Description |
---|---|
static BinaryExpression |
add(Expression left,
Expression right)
Creates an addition or concatenation expression.
|
static BinaryExpression |
add(Expression left,
Object right)
Creates an addition or concatenation expression.
|
static BinaryExpression |
add(Object left,
Expression right)
Creates an addition or concatenation expression.
|
static BinaryExpression |
add(Object left,
Object right)
Creates an addition or concatenation expression.
|
static BinaryExpression |
and(Boolean left,
Boolean right)
Creates a boolean "and" expression.
|
static BinaryExpression |
and(Boolean left,
Expression right)
Creates a boolean "and" expression.
|
static BinaryExpression |
and(Expression left,
Boolean right)
Creates a boolean "and" expression.
|
static BinaryExpression |
and(Expression left,
Expression right)
Creates a boolean "and" expression.
|
static BinaryExpression |
divide(Expression left,
Expression right)
Creates a division expression.
|
static BinaryExpression |
divide(Expression left,
Number right)
Creates a division expression.
|
static BinaryExpression |
divide(Number left,
Expression<Number> right)
Creates a division expression.
|
static BinaryExpression |
divide(Number left,
Number right)
Creates a division expression.
|
static BinaryExpression |
equalTo(Expression left,
Expression right)
Creates an equality expression.
|
static BinaryExpression |
equalTo(Expression left,
Object right)
Creates an equality expression.
|
static BinaryExpression |
equalTo(Object left,
Expression right)
Creates an equality expression.
|
static BinaryExpression |
equalTo(Object left,
Object right)
Creates an equality expression.
|
abstract T |
evaluate(Object namespace)
Evaluates the expression.
|
static <T> T |
get(Object namespace,
KeyPath keyPath)
Returns the value at a given path within a namespace.
|
static <T> T |
get(Object namespace,
String key)
Returns the value at a given key within a namespace.
|
List<KeyPath> |
getArguments()
Returns a list of arguments to this expression.
|
protected abstract void |
getArguments(List<KeyPath> arguments)
Populates a list of arguments to this expression.
|
static BinaryExpression |
greaterThan(Expression left,
Expression right)
Creates a "greater-than" comparison expression.
|
static BinaryExpression |
greaterThan(Expression left,
Object right)
Creates a "greater-than" comparison expression.
|
static BinaryExpression |
greaterThan(Object left,
Expression right)
Creates a "greater-than" comparison expression.
|
static BinaryExpression |
greaterThan(Object left,
Object right)
Creates a "greater-than" comparison expression.
|
static BinaryExpression |
greaterThanOrEqualTo(Expression left,
Expression right)
Creates a "greater-than-or-equal-to" comparison expression.
|
static BinaryExpression |
greaterThanOrEqualTo(Expression left,
Object right)
Creates a "greater-than-or-equal-to" comparison expression.
|
static BinaryExpression |
greaterThanOrEqualTo(Object left,
Expression right)
Creates a "greater-than-or-equal-to" comparison expression.
|
static BinaryExpression |
greaterThanOrEqualTo(Object left,
Object right)
Creates a "greater-than-or-equal-to" comparison expression.
|
abstract boolean |
isDefined(Object namespace)
Tests whether the expression is defined.
|
static boolean |
isDefined(Object namespace,
KeyPath keyPath)
Tests the existence of a path within a namespace.
|
static boolean |
isDefined(Object namespace,
String key)
Tests the existence of a key within a namespace.
|
abstract boolean |
isLValue()
Tests whether the expression represents an l-value (i.e.
|
static BinaryExpression |
lessThan(Expression left,
Expression right)
Creates a "less-than" comparison expression.
|
static BinaryExpression |
lessThan(Expression left,
Object right)
Creates a "less-than" comparison expression.
|
static BinaryExpression |
lessThan(Object left,
Expression right)
Creates a "less-than" comparison expression.
|
static BinaryExpression |
lessThan(Object left,
Object right)
Creates a "less-than" comparison expression.
|
static BinaryExpression |
lessThanOrEqualTo(Expression left,
Expression right)
Creates a "less-than-or-equal-to" comparison expression.
|
static BinaryExpression |
lessThanOrEqualTo(Expression left,
Object right)
Creates a "less-than-or-equal-to" comparison expression.
|
static BinaryExpression |
lessThanOrEqualTo(Object left,
Expression right)
Creates a "less-than-or-equal-to" comparison expression.
|
static BinaryExpression |
lessThanOrEqualTo(Object left,
Object right)
Creates a "less-than-or-equal-to" comparison expression.
|
static BinaryExpression |
modulo(Expression<Number> left,
Number right)
Creates a modulus expression.
|
static BinaryExpression |
modulo(Expression left,
Expression right)
Creates a modulus expression.
|
static BinaryExpression |
modulo(Number left,
Expression<Number> right)
Creates a modulus expression.
|
static BinaryExpression |
modulo(Number left,
Number right)
Creates a modulus expression.
|
static BinaryExpression |
multiply(Expression left,
Expression right)
Creates a multiplication expression.
|
static BinaryExpression |
multiply(Expression left,
Number right)
Creates a multiplication expression.
|
static BinaryExpression |
multiply(Number left,
Expression right)
Creates a multiplication expression.
|
static BinaryExpression |
multiply(Number left,
Number right)
Creates a multiplication expression.
|
static UnaryExpression |
negate(Expression operand)
Creates a numeric negation expression.
|
static UnaryExpression |
negate(Number operand)
Creates a numeric negation expression.
|
static UnaryExpression |
not(Boolean operand)
Creates a boolean "not" expression.
|
static UnaryExpression |
not(Expression operand)
Creates a boolean "not" expression.
|
static BinaryExpression |
notEqualTo(Expression left,
Expression right)
Creates an inverse equality expression.
|
static BinaryExpression |
notEqualTo(Expression left,
Object right)
Creates an inverse equality expression.
|
static BinaryExpression |
notEqualTo(Object left,
Expression right)
Creates an inverse equality expression.
|
static BinaryExpression |
notEqualTo(Object left,
Object right)
Creates an inverse equality expression.
|
static BinaryExpression |
or(Boolean left,
Boolean right)
Creates a boolean "or" expression.
|
static BinaryExpression |
or(Boolean left,
Expression right)
Creates a boolean "or" expression.
|
static BinaryExpression |
or(Expression left,
Boolean right)
Creates a boolean "or" expression.
|
static BinaryExpression |
or(Expression left,
Expression right)
Creates a boolean "or" expression.
|
static void |
set(Object namespace,
KeyPath keyPath,
Object value)
Sets the value at a given path within a namespace.
|
static void |
set(Object namespace,
String key,
Object value)
Sets the value at a given path within a namespace.
|
static BinaryExpression |
subtract(Expression left,
Expression right)
Creates a subtraction expression.
|
static BinaryExpression |
subtract(Expression left,
Number right)
Creates a subtraction expression.
|
static BinaryExpression |
subtract(Number left,
Expression right)
Creates a subtraction expression.
|
static BinaryExpression |
subtract(Number left,
Number right)
Creates a subtraction expression.
|
abstract void |
update(Object namespace,
T value)
Updates the expression value.
|
static Expression |
valueOf(String value)
Parses a string representation of an expression into an expression
tree.
|
public abstract T evaluate(Object namespace)
namespace
- The namespace against which the expression will be evaluated.public abstract void update(Object namespace, T value)
namespace
- The namespace against which the expression will be evaluated.value
- The value to assign to the expression.public abstract boolean isDefined(Object namespace)
namespace
- The namespace against which the expression will be evaluated.public abstract boolean isLValue()
protected abstract void getArguments(List<KeyPath> arguments)
public static <T> T get(Object namespace, KeyPath keyPath)
namespace
- keyPath
- public static <T> T get(Object namespace, String key)
namespace
- key
- public static void set(Object namespace, KeyPath keyPath, Object value)
namespace
- keyPath
- value
- public static void set(Object namespace, String key, Object value)
namespace
- key
- value
- public static boolean isDefined(Object namespace, KeyPath keyPath)
namespace
- keyPath
- public static boolean isDefined(Object namespace, String key)
namespace
- key
- public static BinaryExpression add(Expression left, Expression right)
left
- right
- public static BinaryExpression add(Expression left, Object right)
left
- right
- public static BinaryExpression add(Object left, Expression right)
left
- right
- public static BinaryExpression add(Object left, Object right)
left
- right
- public static BinaryExpression subtract(Expression left, Expression right)
left
- right
- public static BinaryExpression subtract(Expression left, Number right)
left
- right
- public static BinaryExpression subtract(Number left, Expression right)
left
- right
- public static BinaryExpression subtract(Number left, Number right)
left
- right
- public static BinaryExpression multiply(Expression left, Expression right)
left
- right
- public static BinaryExpression multiply(Expression left, Number right)
left
- right
- public static BinaryExpression multiply(Number left, Expression right)
left
- right
- public static BinaryExpression multiply(Number left, Number right)
left
- right
- public static BinaryExpression divide(Expression left, Expression right)
left
- right
- public static BinaryExpression divide(Expression left, Number right)
left
- right
- public static BinaryExpression divide(Number left, Expression<Number> right)
left
- right
- public static BinaryExpression divide(Number left, Number right)
left
- right
- public static BinaryExpression modulo(Expression left, Expression right)
left
- right
- public static BinaryExpression modulo(Expression<Number> left, Number right)
left
- right
- public static BinaryExpression modulo(Number left, Expression<Number> right)
left
- right
- public static BinaryExpression modulo(Number left, Number right)
left
- right
- public static BinaryExpression equalTo(Expression left, Expression right)
left
- right
- public static BinaryExpression equalTo(Expression left, Object right)
left
- right
- public static BinaryExpression equalTo(Object left, Expression right)
left
- right
- public static BinaryExpression equalTo(Object left, Object right)
left
- right
- public static BinaryExpression notEqualTo(Expression left, Expression right)
left
- right
- public static BinaryExpression notEqualTo(Expression left, Object right)
left
- right
- public static BinaryExpression notEqualTo(Object left, Expression right)
left
- right
- public static BinaryExpression notEqualTo(Object left, Object right)
left
- right
- public static BinaryExpression greaterThan(Expression left, Expression right)
left
- right
- public static BinaryExpression greaterThan(Expression left, Object right)
left
- right
- public static BinaryExpression greaterThan(Object left, Expression right)
left
- right
- public static BinaryExpression greaterThan(Object left, Object right)
left
- right
- public static BinaryExpression greaterThanOrEqualTo(Expression left, Expression right)
left
- right
- public static BinaryExpression greaterThanOrEqualTo(Expression left, Object right)
left
- right
- public static BinaryExpression greaterThanOrEqualTo(Object left, Expression right)
left
- right
- public static BinaryExpression greaterThanOrEqualTo(Object left, Object right)
left
- right
- public static BinaryExpression lessThan(Expression left, Expression right)
left
- right
- public static BinaryExpression lessThan(Expression left, Object right)
left
- right
- public static BinaryExpression lessThan(Object left, Expression right)
left
- right
- public static BinaryExpression lessThan(Object left, Object right)
left
- right
- public static BinaryExpression lessThanOrEqualTo(Expression left, Expression right)
left
- right
- public static BinaryExpression lessThanOrEqualTo(Expression left, Object right)
left
- right
- public static BinaryExpression lessThanOrEqualTo(Object left, Expression right)
left
- right
- public static BinaryExpression lessThanOrEqualTo(Object left, Object right)
left
- right
- public static BinaryExpression and(Expression left, Expression right)
left
- right
- public static BinaryExpression and(Expression left, Boolean right)
left
- right
- public static BinaryExpression and(Boolean left, Expression right)
left
- right
- public static BinaryExpression and(Boolean left, Boolean right)
left
- right
- public static BinaryExpression or(Expression left, Expression right)
left
- right
- public static BinaryExpression or(Expression left, Boolean right)
left
- right
- public static BinaryExpression or(Boolean left, Expression right)
left
- right
- public static BinaryExpression or(Boolean left, Boolean right)
left
- right
- public static UnaryExpression negate(Expression operand)
operand
- public static UnaryExpression negate(Number operand)
operand
- public static UnaryExpression not(Expression operand)
operand
- public static UnaryExpression not(Boolean operand)
operand
- public static Expression valueOf(String value)
value
- The string representation of the expression.Copyright © 2020. All rights reserved.