001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.plugins.eventbus.data.osm.history;
003
004import java.util.EventObject;
005import java.util.Objects;
006
007import org.openstreetmap.josm.data.osm.history.HistoryDataSet;
008
009/**
010 * Superclass of history events.
011 */
012public class AbstractHistoryEvent extends EventObject {
013
014    private static final long serialVersionUID = 1L;
015
016    private final HistoryDataSet historyDataSet;
017
018    /**
019     * Constructs a new {@code AbstractHistoryEvent}.
020     * @param source object on which the Event initially occurred
021     * @param historyDataSet history data set for which the event is trigerred
022     */
023    AbstractHistoryEvent(Object source, HistoryDataSet historyDataSet) {
024        super(source);
025        this.historyDataSet = Objects.requireNonNull(historyDataSet);
026    }
027
028    /**
029     * Returns history data set for which the event is trigerred.
030     * @return history data set for which the event is trigerred
031     */
032    public final HistoryDataSet getHistoryDataSet() {
033        return historyDataSet;
034    }
035}