org.semanticweb.HermiT.hierarchy
Class Hierarchy<E>
java.lang.Object
org.semanticweb.HermiT.hierarchy.Hierarchy<E>
public class Hierarchy<E>
- extends java.lang.Object
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
m_topNode
protected final HierarchyNode<E> m_topNode
m_bottomNode
protected final HierarchyNode<E> m_bottomNode
m_nodesByElements
protected final java.util.Map<E,HierarchyNode<E>> m_nodesByElements
Hierarchy
public Hierarchy(HierarchyNode<E> topNode,
HierarchyNode<E> bottomNode)
getTopNode
public HierarchyNode<E> getTopNode()
getBottomNode
public HierarchyNode<E> getBottomNode()
isEmpty
public boolean isEmpty()
getNodeForElement
public HierarchyNode<E> getNodeForElement(E element)
getAllNodes
public java.util.Collection<HierarchyNode<E>> getAllNodes()
getAllNodesSet
public java.util.Set<HierarchyNode<E>> getAllNodesSet()
getAllElements
public java.util.Set<E> getAllElements()
getDepth
public int getDepth()
transform
public <T> Hierarchy<T> transform(Hierarchy.Transformer<? super E,T> transformer,
java.util.Comparator<T> comparator)
traverseDepthFirst
public void traverseDepthFirst(Hierarchy.HierarchyNodeVisitor<E> visitor)
traverseDepthFirst
protected void traverseDepthFirst(Hierarchy.HierarchyNodeVisitor<E> visitor,
int level,
HierarchyNode<E> node,
HierarchyNode<E> parentNode,
java.util.Set<HierarchyNode<E>> visited,
HierarchyNode<E>[] redirectBuffer)
emptyHierarchy
public static <T> Hierarchy<T> emptyHierarchy(java.util.Collection<T> elements,
T topElement,
T bottomElement)