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    }