public class E_Exists extends ExprFunctionOp
CMP_EQUAL, CMP_GREATER, CMP_INDETERMINATE, CMP_LESS, CMP_UNEQUAL| Constructor and Description |
|---|
E_Exists(Element elt) |
E_Exists(Element el,
Op op) |
E_Exists(Op op) |
| Modifier and Type | Method and Description |
|---|---|
Expr |
applyNodeTransform(NodeTransform nodeTransform)
Rewrite, applying a node->node transformation
|
ExprFunctionOp |
copy(ExprList args,
Element elPattern) |
ExprFunctionOp |
copy(ExprList args,
Op x) |
Expr |
copySubstitute(Binding binding)
Deep copy with substitution
|
boolean |
equals(Expr other,
boolean bySyntax)
General equality operation - consider this to be 'protected'
|
int |
hashCode()
Expr are used in both syntax and algebra. |
apply, eval, getArg, getElement, getGraphPattern, isGraphPattern, numArgs, visitgetArgs, getFunction, getFunctionIRI, getFunctionName, getFunctionPrintName, getFunctionSymbol, getOpName, isFunctionasVar, deepCopy, equals, equalsBySyntax, getConstant, getExpr, getExprVar, getVarName, getVarNamesMentioned, getVarsMentioned, isConstant, isExpr, isSatisfied, isVariable, toString, varNamesMentioned, varsMentionedpublic Expr copySubstitute(Binding binding)
ExprcopySubstitute in interface ExprcopySubstitute in class ExprNodepublic Expr applyNodeTransform(NodeTransform nodeTransform)
ExprapplyNodeTransform in interface ExprapplyNodeTransform in class ExprNodepublic int hashCode()
ExprExpr are used in both syntax and algebra. There is no syntax
to algebra translation step because the parser uses operator precedence
to build the right evaluation structure directly.
The exceptions to this are the NOT EXISTS and
EXISTS expressions which involve a query pattern. As a
result there are different ways in syntax to produce the same algebra
form.
Two Expr are considered equal if they are equal as algebra
expressions. hashCode and equals must implement
that.
There is also equalsBySyntax. Because two different syntax
forms can yield the same algebra, but two different algebra forms
must be different syntax, equalsBySyntax implies equals
(by alegbra).
Hence, different hashCode => not equalsBySyntax.
hashCode in interface ExprhashCode in class ExprFunctionpublic boolean equals(Expr other, boolean bySyntax)
Exprequals in interface Exprequals in class ExprFunctionpublic ExprFunctionOp copy(ExprList args, Op x)
copy in class ExprFunctionOppublic ExprFunctionOp copy(ExprList args, Element elPattern)
copy in class ExprFunctionOpLicenced under the Apache License, Version 2.0