001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.data.osm.event; 003 004import java.util.Collection; 005import java.util.Collections; 006 007import org.openstreetmap.josm.data.osm.DataSet; 008import org.openstreetmap.josm.data.osm.OsmPrimitive; 009 010/** 011 * Represents a change in {@link OsmPrimitive#flags} unless covered by a more specific {@linkplain AbstractDatasetChangedEvent event} 012 */ 013public class PrimitiveFlagsChangedEvent extends AbstractDatasetChangedEvent { 014 015 private final OsmPrimitive primitive; 016 017 public PrimitiveFlagsChangedEvent(DataSet dataSet, OsmPrimitive primitive) { 018 super(dataSet); 019 this.primitive = primitive; 020 } 021 022 @Override 023 public void fire(DataSetListener listener) { 024 listener.otherDatasetChange(this); 025 } 026 027 @Override 028 public Collection<? extends OsmPrimitive> getPrimitives() { 029 return Collections.singleton(primitive); 030 } 031 032 @Override 033 public DatasetEventType getType() { 034 return DatasetEventType.PRIMITIVE_FLAGS_CHANGED; 035 } 036}