| Package | Description |
|---|---|
| org.aksw.commons.collections.trees |
| Modifier and Type | Class and Description |
|---|---|
class |
LabeledTree<K,X extends LabeledNode<K>> |
class |
SubTree<T> |
class |
TreeBase<T>
Base implementation that lazily caches the node count
|
class |
TreeDirect<T> |
class |
TreeImpl<T> |
class |
TreeReplace<T>
Tree wrapper with bidirectional replacement of certain nodes with leaf nodes.
|
| Modifier and Type | Field and Description |
|---|---|
protected Tree<T> |
TreeReplace.delegate |
protected Tree<T> |
SubTree.delegate |
protected Tree<T> |
TreeNodeImpl.tree |
| Modifier and Type | Method and Description |
|---|---|
Tree<K> |
LabeledTree.createNew(K root) |
Tree<T> |
Tree.createNew(T root) |
Tree<T> |
TreeReplace.createNew(T root) |
Tree<T> |
SubTree.createNew(T root) |
Tree<T> |
TreeImpl.createNew(T root) |
Tree<T> |
TreeOps.createNew(T root)
Create a new tree from the given root node
|
Tree<T> |
TreeDirect.createNew(T root) |
Tree<T> |
TreeNode.getTree() |
Tree<T> |
TreeNodeImpl.getTree() |
static <T> Tree<T> |
TreeUtils.remapSubTreesToLeafs(Tree<T> tree,
java.util.function.Function<? super T,? extends T> remapFn)
Create a new tree object which has certain nodes remapped with *leaf* nodes
|
static <T> Tree<T> |
TreeUtils.removeUnaryNodes(Tree<T> tree) |
static <T> Tree<T> |
TreeUtils.replace(Tree<T> tree,
T node,
T replacement) |
static <T> Tree<T> |
TreeUtils.subTree(Tree<T> tree,
T newRoot) |
| Modifier and Type | Method and Description |
|---|---|
static <T> Map<T,com.google.common.collect.Multimap<T,T>> |
TreeUtils.clusterNodesByFirstMultiaryAncestor(Tree<T> tree,
com.google.common.collect.Multimap<T,T> mapping)
Input: A mapping from cache nodes to candidate query nodes represented as a Multimap
|
static <T> long |
TreeUtils.depth(Tree<T> tree) |
static <T> long |
TreeUtils.depth(Tree<T> tree,
T node) |
static <A,B> com.google.common.collect.Multimap<A,B> |
TreeUtils.deriveParentMapping(Tree<A> aTree,
Tree<B> bTree,
com.google.common.collect.Multimap<A,B> childMapping)
Given a mapping of child nodes, determine which parents may be mapped to each other.
|
static <A,B> com.google.common.collect.Multimap<A,B> |
TreeUtils.deriveParentMapping(Tree<A> aTree,
Tree<B> bTree,
com.google.common.collect.Multimap<A,B> childMapping)
Given a mapping of child nodes, determine which parents may be mapped to each other.
|
static <T> T |
TreeUtils.findAncestor(Tree<T> tree,
T node,
java.util.function.Predicate<T> predicate)
Find the first ancestor for which the predicate evaluates to true
|
static <T> T |
TreeUtils.firstMultiaryAncestor(Tree<T> tree,
T node)
Return a node's first ancestor having an arity > 1
null if there is none.
|
static <T> T |
TreeUtils.getFirstMultiaryAncestor(Tree<T> tree,
T node) |
static <T> void |
TreeUtils.getLeafs(Collection<T> result,
Tree<T> tree,
T node) |
static <T> List<T> |
TreeUtils.getLeafs(Tree<T> tree) |
static <T> Set<T> |
TreeUtils.getParentsOf(Tree<T> tree,
Iterable<T> children)
Get the set of immediate parents for a given set of children
|
static <X> List<X> |
TreeUtils.getUnaryAncestors(X x,
Tree<X> tree,
Tree<X> multiaryTree) |
static <X> List<X> |
TreeUtils.getUnaryAncestors(X x,
Tree<X> tree,
Tree<X> multiaryTree) |
static <T> com.google.common.collect.Multimap<T,T> |
TreeUtils.groupByParent(Tree<T> tree,
Collection<T> nodes,
com.google.common.collect.Multimap<T,T> result) |
static <T> List<List<T>> |
TreeUtils.innerNodesPerLevel(Tree<T> tree)
For each level, yield the inner nodes
The root node will always be part of the list, even if it does not have children
|
static <T> java.util.stream.Stream<T> |
TreeUtils.leafStream(Tree<T> tree) |
static <T> long |
TreeUtils.nodeCount(Tree<T> tree) |
static <T> List<List<T>> |
TreeUtils.nodesPerLevel(Tree<T> tree)
Returns the set of nodes in each level of the tree
The set containing the root will be the first item in the list
|
static <T> Set<T> |
TreeUtils.propagateBottomUpLabel(Tree<T> tree,
java.util.function.Predicate<T> predicate)
Given a predicate, return the minimum set of nodes, for which all nodes in their subtree satisfy the predicate.
|
static <T> Tree<T> |
TreeUtils.remapSubTreesToLeafs(Tree<T> tree,
java.util.function.Function<? super T,? extends T> remapFn)
Create a new tree object which has certain nodes remapped with *leaf* nodes
|
static <T> Tree<T> |
TreeUtils.removeUnaryNodes(Tree<T> tree) |
static <T> T |
TreeUtils.removeUnaryNodes(Tree<T> tree,
T node,
com.google.common.collect.ListMultimap<T,T> parentToChildren) |
static <T> Tree<T> |
TreeUtils.replace(Tree<T> tree,
T node,
T replacement) |
static <T> T |
TreeUtils.replaceNode(Tree<T> tree,
T node,
T replacement,
java.util.function.BiPredicate<? super T,? super T> isEquiv) |
static <T> Tree<T> |
TreeUtils.subTree(Tree<T> tree,
T newRoot) |
| Constructor and Description |
|---|
SubTree(Tree<T> delegate,
T root) |
SubTree(Tree<T> delegate,
T root,
java.util.function.BiPredicate<T,T> nodeComparator) |
TreeNodeImpl(Tree<T> tree,
T node) |
TreeReplace(Tree<T> delegate,
Map<T,T> delegateToReplacement,
Map<T,T> replacementToDelegate) |
Copyright © 2018. All rights reserved.