001 // License: GPL. For details, see LICENSE file. 002 package org.openstreetmap.josm.data.osm.event; 003 004 import java.util.Collections; 005 import java.util.List; 006 import java.util.Map; 007 008 import org.openstreetmap.josm.data.osm.DataSet; 009 import org.openstreetmap.josm.data.osm.OsmPrimitive; 010 011 public class TagsChangedEvent extends AbstractDatasetChangedEvent { 012 013 private final OsmPrimitive primitive; 014 private final Map<String, String> originalKeys; 015 016 public TagsChangedEvent(DataSet dataSet, OsmPrimitive primitive, Map<String, String> originalKeys) { 017 super(dataSet); 018 this.primitive = primitive; 019 this.originalKeys = originalKeys; 020 } 021 022 @Override 023 public void fire(DataSetListener listener) { 024 listener.tagsChanged(this); 025 } 026 027 public OsmPrimitive getPrimitive() { 028 return primitive; 029 } 030 031 @Override 032 public List<? extends OsmPrimitive> getPrimitives() { 033 return Collections.singletonList(primitive); 034 } 035 036 @Override 037 public DatasetEventType getType() { 038 return DatasetEventType.TAGS_CHANGED; 039 } 040 041 public Map<String, String> getOriginalKeys() { 042 return originalKeys; 043 } 044 045 }