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.Relation;
010
011 public class RelationMembersChangedEvent extends AbstractDatasetChangedEvent {
012
013 private final Relation relation;
014
015 public RelationMembersChangedEvent(DataSet dataSet, Relation relation) {
016 super(dataSet);
017 this.relation = relation;
018 }
019
020 @Override
021 public void fire(DataSetListener listener) {
022 listener.relationMembersChanged(this);
023 }
024
025 public Relation getRelation() {
026 return relation;
027 }
028
029 @Override
030 public List<? extends OsmPrimitive> getPrimitives() {
031 return Collections.singletonList(relation);
032 }
033
034 @Override
035 public DatasetEventType getType() {
036 return DatasetEventType.RELATION_MEMBERS_CHANGED;
037 }
038
039 }