public interface QueryTreeComponent
| Modifier and Type | Method and Description |
|---|---|
void |
addChild(QueryNode parentNode,
QueryNode childNode,
Optional<BinaryOrderedOperatorNode.ArgumentPosition> optionalPosition,
boolean canReplacePreviousChildren)
Please consider using an IntermediateQueryBuilder instead of this tree component.
|
void |
addSubTree(IntermediateQuery subQuery,
QueryNode subQueryTopNode,
QueryNode localTopNode) |
boolean |
contains(QueryNode node) |
QueryTreeComponent |
createSnapshot()
Keeps the same query node objects but clones the tree edges
(since the latter are mutable by default).
|
Variable |
generateNewVariable()
Returns a variable that is not used in the intermediate query.
|
Variable |
generateNewVariable(Variable formerVariable)
Returns a variable that is not used in the intermediate query.
|
com.google.common.collect.ImmutableList<QueryNode> |
getAncestors(QueryNode descendantNode)
From the parent to the oldest ancestor.
|
com.google.common.collect.ImmutableList<QueryNode> |
getChildren(QueryNode node) |
Stream<QueryNode> |
getChildrenStream(QueryNode node) |
Optional<QueryNode> |
getFirstChild(QueryNode node) |
com.google.common.collect.ImmutableSet<IntensionalDataNode> |
getIntensionalNodes() |
com.google.common.collect.ImmutableSet<Variable> |
getKnownVariables()
All the possibly already allocated variables
|
com.google.common.collect.ImmutableList<QueryNode> |
getNodesInBottomUpOrder() |
com.google.common.collect.ImmutableList<QueryNode> |
getNodesInTopDownOrder() |
Optional<BinaryOrderedOperatorNode.ArgumentPosition> |
getOptionalPosition(QueryNode parentNode,
QueryNode childNode) |
Optional<QueryNode> |
getParent(QueryNode node) |
QueryNode |
getRootNode() |
com.google.common.collect.ImmutableList<QueryNode> |
getSubTreeNodesInTopDownOrder(QueryNode currentNode)
All the nodes EXCEPT the root of this sub-tree
|
com.google.common.collect.ImmutableSet<TrueNode> |
getTrueNodes() |
com.google.common.collect.ImmutableSet<Variable> |
getVariables(QueryNode node) |
UUID |
getVersionNumber()
The version number of the query.
|
void |
insertParent(QueryNode childNode,
QueryNode newParentNode)
Inserts a new node between a node and its former parent (now grand-parent)
|
void |
insertParent(QueryNode childNode,
QueryNode newParentNode,
Optional<BinaryOrderedOperatorNode.ArgumentPosition> optionalPosition)
Inserts a new node between a node and its former parent (now grand-parent)
|
Optional<QueryNode> |
nextSibling(QueryNode node) |
QueryNode |
removeOrReplaceNodeByUniqueChild(QueryNode node)
TODO: explain
|
void |
removeSubTree(QueryNode subTreeRoot) |
void |
replaceNode(QueryNode previousNode,
QueryNode replacingNode) |
QueryNode |
replaceNodeByChild(QueryNode parentNode,
Optional<BinaryOrderedOperatorNode.ArgumentPosition> optionalReplacingChildPosition)
If no position is given, replaces the parent node by its first child
|
void |
replaceNodesByOneNode(com.google.common.collect.ImmutableList<QueryNode> queryNodes,
QueryNode replacingNode,
QueryNode parentNode,
Optional<BinaryOrderedOperatorNode.ArgumentPosition> optionalPosition)
TODO: explain
|
void |
replaceSubTree(QueryNode subTreeRootNode,
QueryNode replacingNode)
Replaces all the sub-tree by one sub-tree node
|
QueryNode |
replaceSubTreeByIQ(QueryNode subTreeRoot,
IQTree replacingSubTree) |
void |
transferChild(QueryNode childNode,
QueryNode formerParentNode,
QueryNode newParentNode,
Optional<BinaryOrderedOperatorNode.ArgumentPosition> optionalPosition)
Transfers a child node from a parent to another parent
|
QueryNode getRootNode() throws IllegalTreeException
IllegalTreeExceptioncom.google.common.collect.ImmutableList<QueryNode> getNodesInBottomUpOrder() throws IllegalTreeException
IllegalTreeExceptioncom.google.common.collect.ImmutableList<QueryNode> getNodesInTopDownOrder() throws IllegalTreeException
IllegalTreeExceptioncom.google.common.collect.ImmutableSet<TrueNode> getTrueNodes()
com.google.common.collect.ImmutableSet<IntensionalDataNode> getIntensionalNodes()
boolean contains(QueryNode node)
void replaceSubTree(QueryNode subTreeRootNode, QueryNode replacingNode)
void addSubTree(IntermediateQuery subQuery, QueryNode subQueryTopNode, QueryNode localTopNode) throws IllegalTreeUpdateException
IllegalTreeUpdateExceptionvoid removeSubTree(QueryNode subTreeRoot)
com.google.common.collect.ImmutableList<QueryNode> getSubTreeNodesInTopDownOrder(QueryNode currentNode)
Optional<BinaryOrderedOperatorNode.ArgumentPosition> getOptionalPosition(QueryNode parentNode, QueryNode childNode)
com.google.common.collect.ImmutableList<QueryNode> getAncestors(QueryNode descendantNode) throws IllegalTreeException
IllegalTreeExceptionOptional<QueryNode> getParent(QueryNode node) throws IllegalTreeException
IllegalTreeExceptionQueryNode removeOrReplaceNodeByUniqueChild(QueryNode node) throws IllegalTreeUpdateException
IllegalTreeUpdateExceptionvoid replaceNodesByOneNode(com.google.common.collect.ImmutableList<QueryNode> queryNodes, QueryNode replacingNode, QueryNode parentNode, Optional<BinaryOrderedOperatorNode.ArgumentPosition> optionalPosition) throws IllegalTreeUpdateException
IllegalTreeUpdateExceptionvoid addChild(QueryNode parentNode, QueryNode childNode, Optional<BinaryOrderedOperatorNode.ArgumentPosition> optionalPosition, boolean canReplacePreviousChildren) throws IllegalTreeUpdateException
IllegalTreeUpdateExceptionOptional<QueryNode> nextSibling(QueryNode node) throws IllegalTreeException
IllegalTreeExceptionvoid insertParent(QueryNode childNode, QueryNode newParentNode) throws IllegalTreeUpdateException
IllegalTreeUpdateExceptionvoid insertParent(QueryNode childNode, QueryNode newParentNode, Optional<BinaryOrderedOperatorNode.ArgumentPosition> optionalPosition) throws IllegalTreeUpdateException
IllegalTreeUpdateExceptionvoid transferChild(QueryNode childNode, QueryNode formerParentNode, QueryNode newParentNode, Optional<BinaryOrderedOperatorNode.ArgumentPosition> optionalPosition) throws IllegalTreeUpdateException
IllegalTreeUpdateExceptionVariable generateNewVariable()
Variable generateNewVariable(Variable formerVariable)
com.google.common.collect.ImmutableSet<Variable> getKnownVariables()
QueryNode replaceNodeByChild(QueryNode parentNode, Optional<BinaryOrderedOperatorNode.ArgumentPosition> optionalReplacingChildPosition)
QueryTreeComponent createSnapshot()
UUID getVersionNumber()
Copyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.