// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.data.osm.event; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; import org.openstreetmap.josm.data.osm.DataSet; import org.openstreetmap.josm.data.osm.OsmPrimitive; public class PrimitivesRemovedEvent extends AbstractDatasetChangedEvent { private final List<? extends OsmPrimitive> primitives; private final boolean wasComplete; public PrimitivesRemovedEvent(DataSet dataSet, Collection<? extends OsmPrimitive> primitives, boolean wasComplete) { super(dataSet); this.primitives = Collections.unmodifiableList(new ArrayList<>(primitives)); this.wasComplete = wasComplete; } @Override public void fire(DataSetListener listener) { listener.primitivesRemoved(this); } @Override public List<? extends OsmPrimitive> getPrimitives() { return primitives; } /** * * @return True if primitive wasn't really removed from the dataset, it only become incomplete again */ public boolean wasComplete() { return wasComplete; } @Override public DatasetEventType getType() { return DatasetEventType.PRIMITIVES_REMOVED; } }