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 }