
api.utils.MutableChildTree Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of flexible-tree Show documentation
Show all versions of flexible-tree Show documentation
Library for generating permutation of given value domains
The newest version!
package api.utils;
import api.ChildTree;
import api.Node;
import exception.NodeNotFoundException;
import exception.TreeInsertionException;
import exception.TreeRemovalException;
/**
* Represents a tree which can be modified
*/
public interface MutableChildTree extends ChildTree {
void addNodeToTree(Node node) throws TreeInsertionException;
void removeNodesFromTree(Node node) throws TreeRemovalException;
void fireTreeModelListenersForInsertion(Node changedNode) throws NodeNotFoundException;
void fireTreeModelListenersForRemoval(Node node) throws NodeNotFoundException;
default void addNode(Node node) throws TreeInsertionException{
assert node != null;
addNodeToTree(node);
try {
fireTreeModelListenersForInsertion(node);
} catch (NodeNotFoundException e) {
throw new TreeInsertionException(e);
}
}
default void removeNode(Node node) throws TreeRemovalException {
assert node != null;
removeNodesFromTree(node);
try {
fireTreeModelListenersForRemoval(node);
} catch (NodeNotFoundException e) {
throw new TreeRemovalException(e);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy