示例#1
0
 @Override
 public void set(final C e) {
   super.set(e);
   // Calling the decorated ListIterator's method should throw an
   // exception if it fails; it is assumed here then that the operation
   // succeeds
   lastElement.setParent(null);
   e.setParent(parent);
 }
示例#2
0
 @Override
 public C set(final int index, final C element) {
   final C result = set(index, element);
   if (result != null) {
     result.setParent(null);
   }
   return result;
 }
示例#3
0
 @Override
 public C remove(final int index) {
   final C result = super.remove(index);
   if (result != null) {
     result.setParent(null);
   }
   return result;
 }
示例#4
0
 @Override
 public boolean add(final C e) {
   final boolean result = super.add(e);
   if (result) {
     e.setParent(parent);
   }
   return result;
 }
示例#5
0
 private static final <P, C extends MutableChild<? super P>> void setChildrenParent(
     final Iterable<C> children, final P parent) {
   for (final C child : children) {
     if (child != null) {
       child.setParent(parent);
     }
   }
 }
示例#6
0
 @Override
 public boolean remove(final Object o) {
   final boolean result = super.remove(o);
   if (result) {
     @SuppressWarnings("unchecked")
     final C element = (C) o;
     element.setParent(null);
   }
   return result;
 }
示例#7
0
 public void addChild(C child, int index) {
   child.setParent(this);
   getChildren().add(index, child);
 }
示例#8
0
 @Override
 public void add(final int index, final C element) {
   super.add(index, element);
   element.setParent(parent);
 }