Revision 33378 branches/v2_0_0_prep/libraries/libFMap_dal/src/org/gvsig/fmap/dal/feature/impl/DefaultFeatureReferenceSelection.java
DefaultFeatureReferenceSelection.java | ||
---|---|---|
44 | 44 |
import org.gvsig.tools.dispose.impl.AbstractDisposable; |
45 | 45 |
import org.gvsig.tools.dynobject.DynStruct; |
46 | 46 |
import org.gvsig.tools.exception.BaseException; |
47 |
import org.gvsig.tools.lang.Cloneable; |
|
47 | 48 |
import org.gvsig.tools.observer.Observable; |
48 | 49 |
import org.gvsig.tools.observer.Observer; |
49 | 50 |
import org.gvsig.tools.observer.impl.BaseWeakReferencingObservable; |
... | ... | |
346 | 347 |
return helper.getFeatureStoreCommandsStack(); |
347 | 348 |
} |
348 | 349 |
|
349 |
public static class SelectionData {
|
|
350 |
public static class SelectionData implements Cloneable {
|
|
350 | 351 |
private Set selected = new HashSet(); |
351 | 352 |
|
352 | 353 |
/** |
... | ... | |
430 | 431 |
} |
431 | 432 |
|
432 | 433 |
public Object clone() throws CloneNotSupportedException { |
433 |
SelectionData clone = new SelectionData();
|
|
434 |
clone.setReversed(isReversed());
|
|
435 |
clone.setTotalSize(getTotalSize());
|
|
436 |
clone.setSelected(new HashSet(getSelected()));
|
|
434 |
SelectionData clone = (SelectionData) super.clone();
|
|
435 |
// reversed and totalSize already cloned by parent.
|
|
436 |
// clone the selected Set
|
|
437 |
clone.selected = new HashSet(selected);
|
|
437 | 438 |
return clone; |
438 | 439 |
} |
439 | 440 |
} |
... | ... | |
534 | 535 |
public void notifyObservers(Object arg) { |
535 | 536 |
delegateObservable.notifyObservers(arg); |
536 | 537 |
} |
538 |
|
|
539 |
public Object clone() throws CloneNotSupportedException { |
|
540 |
DefaultFeatureReferenceSelection clone = (DefaultFeatureReferenceSelection) super |
|
541 |
.clone(); |
|
542 |
// Original observers aren't cloned |
|
543 |
clone.delegateObservable = new DelegateWeakReferencingObservable(clone); |
|
544 |
// Clone internal data |
|
545 |
clone.selectionData = (SelectionData) selectionData.clone(); |
|
546 |
// featureStore and helper are already swallow cloned by our parent |
|
547 |
return clone; |
|
548 |
} |
|
537 | 549 |
} |
Also available in: Unified diff