001    // License: GPL. For details, see LICENSE file.
002    package 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     */
010    public 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        public void dataChanged(DataChangedEvent event) {
023            listener.processDatasetEvent(event);
024        }
025    
026        public void nodeMoved(NodeMovedEvent event) {
027            listener.processDatasetEvent(event);
028        }
029    
030        public void primitivesAdded(PrimitivesAddedEvent event) {
031            listener.processDatasetEvent(event);
032        }
033    
034        public void primitivesRemoved(PrimitivesRemovedEvent event) {
035            listener.processDatasetEvent(event);
036        }
037    
038        public void relationMembersChanged(RelationMembersChangedEvent event) {
039            listener.processDatasetEvent(event);
040        }
041    
042        public void tagsChanged(TagsChangedEvent event) {
043            listener.processDatasetEvent(event);
044        }
045    
046        public void wayNodesChanged(WayNodesChangedEvent event) {
047            listener.processDatasetEvent(event);
048        }
049    
050        public void otherDatasetChange(AbstractDatasetChangedEvent event) {
051            listener.processDatasetEvent(event);
052        }
053    
054    }