// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.data.osm.event; 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 DataChangedEvent extends AbstractDatasetChangedEvent { private final List<AbstractDatasetChangedEvent> events; public DataChangedEvent(DataSet dataSet, List<AbstractDatasetChangedEvent> events) { super(dataSet); this.events = events; } public DataChangedEvent(DataSet dataSet) { this(dataSet, null); } @Override public void fire(DataSetListener listener) { listener.dataChanged(this); } @Override public Collection<OsmPrimitive> getPrimitives() { if (dataSet == null) return Collections.emptyList(); else return dataSet.allPrimitives(); } @Override public DatasetEventType getType() { return DatasetEventType.DATA_CHANGED; } /** * * @return List of events that caused this DataChangedEvent. Might be null */ public List<AbstractDatasetChangedEvent> getEvents() { return events; } }