001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.data.osm.event; 003 004import java.util.List; 005 006import org.openstreetmap.josm.data.osm.DataSet; 007import org.openstreetmap.josm.data.osm.OsmPrimitive; 008 009/** 010 * An event that is triggered when the changeset id has changed for a list of primitives. 011 */ 012public class ChangesetIdChangedEvent extends AbstractDatasetChangedEvent { 013 014 private final List<OsmPrimitive> primitives; 015 private final int oldChangesetId; 016 private final int newChangesetId; 017 018 /** 019 * Constructs a new {@code ChangesetIdChangedEvent}. 020 * @param dataSet the dataset from which the event comes from 021 * @param primitives list of affected primitives 022 * @param oldChangesetId old changeset id 023 * @param newChangesetId new changeset id 024 */ 025 public ChangesetIdChangedEvent(DataSet dataSet, List<OsmPrimitive> primitives, int oldChangesetId, int newChangesetId) { 026 super(dataSet); 027 this.primitives = primitives; 028 this.oldChangesetId = oldChangesetId; 029 this.newChangesetId = newChangesetId; 030 } 031 032 @Override 033 public void fire(DataSetListener listener) { 034 listener.otherDatasetChange(this); 035 } 036 037 @Override 038 public List<OsmPrimitive> getPrimitives() { 039 return primitives; 040 } 041 042 @Override 043 public DatasetEventType getType() { 044 return DatasetEventType.CHANGESET_ID_CHANGED; 045 } 046 047 /** 048 * Returns the old changeset id. 049 * @return the old changeset id 050 */ 051 public int getOldChangesetId() { 052 return oldChangesetId; 053 } 054 055 /** 056 * Returns the new changeset id. 057 * @return the new changeset id 058 */ 059 public int getNewChangesetId() { 060 return newChangesetId; 061 } 062 063}