001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.spi.preferences;
003
004/**
005 * Event triggered when a preference entry value changes.
006 * @since 12881
007 */
008public interface PreferenceChangeEvent {
009
010    /**
011     * Returns the class source of this event.
012     * @return The class source of this event
013     * @since 14977
014     */
015    Class<?> getSource();
016
017    /**
018     * Returns the preference key.
019     * @return the preference key
020     */
021    String getKey();
022
023    /**
024     * Returns the old preference value.
025     * @return the old preference value
026     */
027    Setting<?> getOldValue();
028
029    /**
030     * Returns the new preference value.
031     * @return the new preference value
032     */
033    Setting<?> getNewValue();
034}