org.openstreetmap.josm.data.osm
Class PrimitiveDeepCopy

java.lang.Object
  extended by org.openstreetmap.josm.data.osm.PrimitiveDeepCopy

public class PrimitiveDeepCopy
extends java.lang.Object

This class allows to create and keep a deep copy of primitives. Provides methods to access directly added primitives and reference primitives


Nested Class Summary
static interface PrimitiveDeepCopy.PasteBufferChangedListener
           
 
Field Summary
private  java.util.List<PrimitiveData> directlyAdded
           
private  java.util.concurrent.CopyOnWriteArrayList<PrimitiveDeepCopy.PasteBufferChangedListener> listeners
           
private  java.util.List<PrimitiveData> referenced
           
 
Constructor Summary
PrimitiveDeepCopy()
           
PrimitiveDeepCopy(java.util.Collection<OsmPrimitive> primitives)
           
 
Method Summary
 void addPasteBufferChangedListener(PrimitiveDeepCopy.PasteBufferChangedListener listener)
           
private  void firePasteBufferChanged()
           
 java.util.List<PrimitiveData> getAll()
           
 java.util.List<PrimitiveData> getDirectlyAdded()
           
 java.util.List<PrimitiveData> getReferenced()
           
 boolean isEmpty()
           
 void makeCopy(java.util.Collection<OsmPrimitive> primitives)
          Replace content of the object with copy of provided primitives
 void removePasteBufferChangedListener(PrimitiveDeepCopy.PasteBufferChangedListener listener)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

directlyAdded

private final java.util.List<PrimitiveData> directlyAdded

referenced

private final java.util.List<PrimitiveData> referenced

listeners

private final java.util.concurrent.CopyOnWriteArrayList<PrimitiveDeepCopy.PasteBufferChangedListener> listeners
Constructor Detail

PrimitiveDeepCopy

public PrimitiveDeepCopy()

PrimitiveDeepCopy

public PrimitiveDeepCopy(java.util.Collection<OsmPrimitive> primitives)
Method Detail

makeCopy

public final void makeCopy(java.util.Collection<OsmPrimitive> primitives)
Replace content of the object with copy of provided primitives

Parameters:
primitives -

getDirectlyAdded

public java.util.List<PrimitiveData> getDirectlyAdded()

getReferenced

public java.util.List<PrimitiveData> getReferenced()

getAll

public java.util.List<PrimitiveData> getAll()

isEmpty

public boolean isEmpty()

firePasteBufferChanged

private void firePasteBufferChanged()

addPasteBufferChangedListener

public void addPasteBufferChangedListener(PrimitiveDeepCopy.PasteBufferChangedListener listener)

removePasteBufferChangedListener

public void removePasteBufferChangedListener(PrimitiveDeepCopy.PasteBufferChangedListener listener)


JOSM