001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.data.osm;
003
004import java.util.Collection;
005
006/**
007 * An event indicating a change in the {@link ChangesetCache}
008 */
009public interface ChangesetCacheEvent {
010    /**
011     * The changeset cache the change happened in.
012     * @return The {@link ChangesetCache}
013     */
014    ChangesetCache getSource();
015
016    /**
017     * Gets a list of {@link Changeset}s that were added to the cache
018     * @return The changesets
019     */
020    Collection<Changeset> getAddedChangesets();
021
022    /**
023     * Gets a list of {@link Changeset}s that were removed from the cache
024     * @return The changesets
025     */
026    Collection<Changeset> getRemovedChangesets();
027
028    /**
029     * Gets a list of {@link Changeset}s that were changed
030     * @return The changesets
031     */
032    Collection<Changeset> getUpdatedChangesets();
033}