
org.aksw.commons.collections.trees.TreeDirect Maven / Gradle / Ivy
package org.aksw.commons.collections.trees;
import java.util.Collection;
import java.util.List;
import org.aksw.commons.collections.reversible.ReversibleMap;
import org.aksw.commons.collections.reversible.ReversibleSetMultimap;
public class TreeDirect
implements Tree
{
protected T root;
protected ReversibleMap nodeToParent;
public TreeDirect(T root, ReversibleMap nodeToParent) {
super();
this.root = root;
this.nodeToParent = nodeToParent;
}
@Override
public T getRoot() {
return root;
}
@Override
public Collection getChildren(T node) {
ReversibleSetMultimap parentToChildren = nodeToParent.reverse();
Collection result = parentToChildren.get(node);
return result;
}
@Override
public T getParent(T node) {
T result = nodeToParent.get(node);
return result;
}
@Override
public T copy(T node, List children) {
throw new UnsupportedOperationException();
}
@Override
public Tree createNew(T root) {
throw new UnsupportedOperationException();
}
@Override
public long nodeCount() {
long result = nodeToParent.size() + 1;
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy