public abstract class ExprNode extends Object implements Expr
CMP_EQUAL, CMP_GREATER, CMP_INDETERMINATE, CMP_LESS, CMP_UNEQUAL| Constructor and Description |
|---|
ExprNode() |
| Modifier and Type | Method and Description |
|---|---|
abstract Expr |
applyNodeTransform(NodeTransform transform)
Rewrite, applying a node->node transformation
|
Var |
asVar()
Convert to a Var variable.
|
Expr |
copySubstitute(Binding binding)
Deep copy with substitution
|
abstract Expr |
copySubstitute(Binding binding,
boolean foldConstants) |
Expr |
deepCopy()
Deep copy
|
abstract boolean |
equals(Object other) |
abstract NodeValue |
eval(Binding binding,
FunctionEnv env)
Evaluate this expression against the binding
|
NodeValue |
getConstant()
NodeValue constant (returns null if not a constant)
|
Expr |
getExpr() |
ExprVar |
getExprVar()
Variable (or null)
|
ExprFunction |
getFunction()
Get the function (returns null if not a function)
|
Op |
getGraphPattern() |
String |
getVarName()
Variable name (returns null if not a variable)
|
Set<String> |
getVarNamesMentioned() |
Set<Var> |
getVarsMentioned() |
abstract int |
hashCode() |
boolean |
isConstant()
Answer whether this is a constant expression - false includes "don't know"
No constant folding so "false" from an expression that evaluates to a constant
|
boolean |
isExpr() |
boolean |
isFunction()
Answer wether this is a function.
|
boolean |
isGraphPattern() |
boolean |
isSatisfied(Binding binding,
FunctionEnv funcEnv)
Test whether a Constraint is satisfied, given a set of bindings
Includes error propagtion and Effective Boolean Value rules.
|
boolean |
isVariable()
Answer whether this is a variable (in which case getVarName and getNodeVar can be called)
|
String |
toString() |
void |
varNamesMentioned(Collection<String> acc) |
void |
varsMentioned(Collection<Var> acc) |
public boolean isSatisfied(Binding binding, FunctionEnv funcEnv)
ExprisSatisfied in interface Exprbinding - The bindingsfuncEnv - FunctionEnvpublic boolean isExpr()
public final Expr getExpr()
public abstract NodeValue eval(Binding binding, FunctionEnv env)
Exprpublic Set<Var> getVarsMentioned()
getVarsMentioned in interface Exprpublic void varsMentioned(Collection<Var> acc)
varsMentioned in interface Exprpublic void varNamesMentioned(Collection<String> acc)
public final Expr copySubstitute(Binding binding)
ExprcopySubstitute in interface Exprpublic abstract Expr copySubstitute(Binding binding, boolean foldConstants)
copySubstitute in interface Exprpublic abstract Expr applyNodeTransform(NodeTransform transform)
ExprapplyNodeTransform in interface Exprpublic boolean isVariable()
ExprisVariable in interface Exprpublic String getVarName()
ExprgetVarName in interface Exprpublic ExprVar getExprVar()
ExprgetExprVar in interface Exprpublic boolean isConstant()
ExprisConstant in interface Exprpublic NodeValue getConstant()
ExprgetConstant in interface Exprpublic boolean isFunction()
ExprisFunction in interface Exprpublic ExprFunction getFunction()
ExprgetFunction in interface Exprpublic boolean isGraphPattern()
public Op getGraphPattern()
Licenced under the Apache License, Version 2.0