public interface QueryNodeBasedFDN extends FoldingDefinitionNode
queryNodeName()
). These result tree nodes will be placed under the 'correct' result
tree node parent - either as roots if there is no parent or as children to their connected result tree nodes.queryNodeName()
method must return the name of a valid node name in the query this query definition
is based on.cycleDefinitions()
denotes a cycle-inducing link in the query. Each cycle definition has a target,
denoted Y. A cycle definition with Y as target causes the entire sub-tree of Y to appear below X or below X's
parent (folded and not folded cycles, respectively) if the correct link exist. Infinite cycles are stopepd at their
first repeat.A B (trivial anchor = A) C (anchor = B) D E F G (anchor = F) H (anchor = F) SynI J (anchor = null) K SynL M (anchor = K)
A (anchor = B) B C D E (anchor = C) F G H (anchor = F) SynI J (anchor = SynI)
A DThe following result tree is a possible result:
a1 b1 c1 d1 b2 c2 d2 a2 - if min depth is 0 and the query node of D permits a2, this can occur as well. a2For the following definition (target above source):
D AThe following result tree is a possible result:
d1 c1 b1 a1 c2 b2 a2 d2 - if min depth is 0 and the query node of A permits d2, this can occur as well. d2For the following definition (flat indirect link):
R A D (anchor = A)The following result tree is a possible result:
r1 a1 - from the A FDN a2 d1 - from the D FDN d2 b1 - from the CIs returned by the indirect link. c1 d1 b2 c2For the following definition (CIs with the target):
R D A (anchor = D)The following result tree is a possible result:
r1 d1 - from the D FDN d2 a1 - from the A FDN a2 b1 - from the CIs returned by the indirect link - positioned under the same parent (root) as the 'target' FDN. c1 d1 b2 c2
QueryDefinition
,
QueryNode
,
QueryLink
Modifier and Type | Method and Description |
---|---|
<FDN extends FoldingDefinitionNode> |
addChild(FDN foldingDefinitionNode)
Appends a child to this FDN as the last child.
|
<FDN extends FoldingDefinitionNode> |
addChild(FDN foldingDefinitionNode,
int index)
Inserts a child to this FDN at the index location.
|
QueryNodeBasedFDN |
addCycleDefinition(String cycleFoldingRootNodeName,
CycleFoldingRule cycleFoldingRule)
Adds a cycle definition for this node.
|
Set<CycleDefinition> |
cycleDefinitions()
The set of added cycle definitions.
|
String |
queryNodeName()
Returns the query node name associated with this FDN.
|
ReachableSetFoldingRule |
reachableSetFoldingRule()
Returns the previously set ReachableSetFoldingRule.
|
QueryNodeBasedFDN |
withQueryNodeName(String queryNodeName)
Sets the query node name associated with this FDN.
|
QueryNodeBasedFDN |
withReachableSetFoldingRule(ReachableSetFoldingRule reachableSetFoldingRule)
Sets the reachable set folding rule.
|
addSortingRule, addSortingRule, addViewAttribute, asQueryNodeBasedFDN, asSyntheticNode, children, definition, name, parent, root, sortingRules, viewAttributes
clientProperties, clientProperty, usedNamespaces, withClientProperty
invisible, isInvisible
String queryNodeName()
QueryNodeBasedFDN withQueryNodeName(String queryNodeName)
queryNodeName
- the query node name. May not be null.Set<CycleDefinition> cycleDefinitions()
QueryNodeBasedFDN addCycleDefinition(String cycleFoldingRootNodeName, CycleFoldingRule cycleFoldingRule)
<FDN extends FoldingDefinitionNode> FDN addChild(FDN foldingDefinitionNode)
addChild
in interface FoldingDefinitionNode
<FDN extends FoldingDefinitionNode> FDN addChild(FDN foldingDefinitionNode, int index)
addChild
in interface FoldingDefinitionNode
QueryNodeBasedFDN withReachableSetFoldingRule(ReachableSetFoldingRule reachableSetFoldingRule)
folded under this node
.
If the query node for this FDN has no reachable set, this method will have no effect on the result.ReachableSetFoldingRule reachableSetFoldingRule()
Documentation Feedback
Copyright 2011 - 2018 Micro Focus or one of its affiliates.