001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.io.session;
003
004import java.util.Map;
005
006/**
007 * Interface to support export to session file (and import back) for a class that
008 * stores customizable user settings.
009 *
010 * @since 12594
011 */
012public interface SessionAwareReadApply {
013
014    /**
015     * Export settings to a map of properties.
016     * @return map of properties
017     */
018    Map<String, String> toPropertiesMap();
019
020    /**
021     * Import settings from a map of properties.
022     * @param properties properties map
023     */
024    void applyFromPropertiesMap(Map<String, String> properties);
025}