EldiraSesto

CopyableTreeNode

May 20th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.70 KB | None | 0 0
  1. package tree.node;
  2.  
  3. import container.Container;
  4. import rbvs.copy.IDeepCopy;
  5.  
  6. import java.util.Collection;
  7.  
  8. public class CopyableTreeNode<NODETYPE extends IDeepCopy> extends GenericTreeNode<NODETYPE> { //Eldira 11815163
  9.  
  10.     public CopyableTreeNode(String label, NODETYPE value) {
  11.         super(label, value);
  12.     }
  13.  
  14.     @Override
  15.     public ITreeNode<NODETYPE> deepCopy() {
  16.         Collection<ITreeNode<NODETYPE>> newChildren = new Container<>();
  17.         for (ITreeNode<NODETYPE> child : this.getChildren()) {
  18.             newChildren.add(child.deepCopy());
  19.         }
  20.  
  21.         return new GenericTreeNode<NODETYPE>(this.getLabel(), (NODETYPE) this.nodeValue().deepCopy(), newChildren);
  22.     }
  23. }
Advertisement
Add Comment
Please, Sign In to add comment