public interface QueryNode extends Cloneable
| Modifier and Type | Method and Description |
|---|---|
QueryNode |
acceptNodeTransformer(HomogeneousQueryNodeTransformer transformer)
"Accept" method for the "Visitor" pattern.
|
void |
acceptVisitor(QueryNodeVisitor visitor)
"Accept" method for the "Visitor" pattern.
|
QueryNode |
clone()
Cloning is needed for having multiple copies
in the same intermediate query tree.
|
com.google.common.collect.ImmutableSet<Variable> |
getLocallyDefinedVariables()
Locally defined variables must not appear in the sub-tree
|
com.google.common.collect.ImmutableSet<Variable> |
getLocallyRequiredVariables()
Set of variables that this node, INDEPENDENTLY OF THE REQUIREMENTS OF ITS ANCESTORS,
requires to be defined in the sub-tree.
|
com.google.common.collect.ImmutableSet<Variable> |
getLocalVariables()
Set of variables MENTIONED in the node, INDEPENDENTLY of its sub-tree.
|
com.google.common.collect.ImmutableSet<Variable> |
getRequiredVariables(IntermediateQuery query)
Set of variables which, individually, must be provided by at least one child,
INDEPENDENTLY OF THE REQUIREMENTS OF THIS NODE'S ANCESTORS.
|
boolean |
isEquivalentTo(QueryNode queryNode)
Is syntactically equivalent
|
boolean |
isSyntacticallyEquivalentTo(QueryNode node)
TODO: explain
|
boolean |
isVariableNullable(IntermediateQuery query,
Variable variable)
Returns true if it cannot guarantee the projected variable to be non-null
Throws an IllegalArgumentException if the variable is not projected by the node
|
void acceptVisitor(QueryNodeVisitor visitor)
QueryNode clone()
QueryNode acceptNodeTransformer(HomogeneousQueryNodeTransformer transformer) throws QueryNodeTransformationException
QueryNodeTransformationExceptioncom.google.common.collect.ImmutableSet<Variable> getLocalVariables()
boolean isVariableNullable(IntermediateQuery query, Variable variable)
boolean isSyntacticallyEquivalentTo(QueryNode node)
com.google.common.collect.ImmutableSet<Variable> getLocallyRequiredVariables()
com.google.common.collect.ImmutableSet<Variable> getRequiredVariables(IntermediateQuery query)
com.google.common.collect.ImmutableSet<Variable> getLocallyDefinedVariables()
boolean isEquivalentTo(QueryNode queryNode)
Copyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.