001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.data.osm.event;
003
004/**
005 * Classes that do not wish to implement all methods of DataSetListener
006 * may use this class. Implement DatasetListenerAdapter.Listener and
007 * pass this adapter instead of class itself.
008 *
009 */
010public class DataSetListenerAdapter implements DataSetListener {
011
012    public interface Listener {
013        void processDatasetEvent(AbstractDatasetChangedEvent event);
014    }
015
016    private final Listener listener;
017
018    public DataSetListenerAdapter(Listener listener) {
019        this.listener = listener;
020    }
021
022    @Override
023    public void dataChanged(DataChangedEvent event) {
024        listener.processDatasetEvent(event);
025    }
026
027    @Override
028    public void nodeMoved(NodeMovedEvent event) {
029        listener.processDatasetEvent(event);
030    }
031
032    @Override
033    public void primitivesAdded(PrimitivesAddedEvent event) {
034        listener.processDatasetEvent(event);
035    }
036
037    @Override
038    public void primitivesRemoved(PrimitivesRemovedEvent event) {
039        listener.processDatasetEvent(event);
040    }
041
042    @Override
043    public void relationMembersChanged(RelationMembersChangedEvent event) {
044        listener.processDatasetEvent(event);
045    }
046
047    @Override
048    public void tagsChanged(TagsChangedEvent event) {
049        listener.processDatasetEvent(event);
050    }
051
052    @Override
053    public void wayNodesChanged(WayNodesChangedEvent event) {
054        listener.processDatasetEvent(event);
055    }
056
057    @Override
058    public void otherDatasetChange(AbstractDatasetChangedEvent event) {
059        listener.processDatasetEvent(event);
060    }
061
062}