001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.data.osm.event;
003
004import java.util.Collections;
005import java.util.List;
006
007import org.openstreetmap.josm.data.osm.DataSet;
008import org.openstreetmap.josm.data.osm.OsmPrimitive;
009import org.openstreetmap.josm.data.osm.Relation;
010
011public 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}