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 @FunctionalInterface 013 public interface Listener { 014 void processDatasetEvent(AbstractDatasetChangedEvent event); 015 } 016 017 private final Listener listener; 018 019 public DataSetListenerAdapter(Listener listener) { 020 this.listener = listener; 021 } 022 023 @Override 024 public void dataChanged(DataChangedEvent event) { 025 listener.processDatasetEvent(event); 026 } 027 028 @Override 029 public void nodeMoved(NodeMovedEvent event) { 030 listener.processDatasetEvent(event); 031 } 032 033 @Override 034 public void primitivesAdded(PrimitivesAddedEvent event) { 035 listener.processDatasetEvent(event); 036 } 037 038 @Override 039 public void primitivesRemoved(PrimitivesRemovedEvent event) { 040 listener.processDatasetEvent(event); 041 } 042 043 @Override 044 public void relationMembersChanged(RelationMembersChangedEvent event) { 045 listener.processDatasetEvent(event); 046 } 047 048 @Override 049 public void tagsChanged(TagsChangedEvent event) { 050 listener.processDatasetEvent(event); 051 } 052 053 @Override 054 public void wayNodesChanged(WayNodesChangedEvent event) { 055 listener.processDatasetEvent(event); 056 } 057 058 @Override 059 public void otherDatasetChange(AbstractDatasetChangedEvent event) { 060 listener.processDatasetEvent(event); 061 } 062 063}