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    
007    import org.openstreetmap.josm.data.osm.DataSet;
008    import org.openstreetmap.josm.data.osm.OsmPrimitive;
009    import org.openstreetmap.josm.data.osm.Way;
010    
011    public class WayNodesChangedEvent extends AbstractDatasetChangedEvent {
012    
013        private final Way way;
014    
015        public WayNodesChangedEvent(DataSet dataSet, Way way) {
016            super(dataSet);
017            this.way = way;
018        }
019    
020        @Override
021        public void fire(DataSetListener listener) {
022            listener.wayNodesChanged(this);
023        }
024    
025        public Way getChangedWay() {
026            return way;
027        }
028    
029        @Override
030        public List<? extends OsmPrimitive> getPrimitives() {
031            return Collections.singletonList(way);
032        }
033    
034        @Override
035        public DatasetEventType getType() {
036            return DatasetEventType.WAY_NODES_CHANGED;
037        }
038    
039    }