Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package tree.node;
- import container.Container;
- import rbvs.copy.IDeepCopy;
- import java.util.Collection;
- public class CopyableTreeNode<NODETYPE extends IDeepCopy> extends GenericTreeNode<NODETYPE> { //Eldira 11815163
- public CopyableTreeNode(String label, NODETYPE value) {
- super(label, value);
- }
- @Override
- public ITreeNode<NODETYPE> deepCopy() {
- Collection<ITreeNode<NODETYPE>> newChildren = new Container<>();
- for (ITreeNode<NODETYPE> child : this.getChildren()) {
- newChildren.add(child.deepCopy());
- }
- return new GenericTreeNode<NODETYPE>(this.getLabel(), (NODETYPE) this.nodeValue().deepCopy(), newChildren);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment