001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.data.preferences; 003 004/** 005 * Visitor interface for {@link Setting} implementations. 006 * @since 9759 007 */ 008public interface SettingVisitor { 009 /** 010 * Visitor call for {@link StringSetting}. 011 * @param value string setting 012 */ 013 void visit(StringSetting value); 014 015 /** 016 * Visitor call for {@link ListSetting}. 017 * @param value list setting 018 */ 019 void visit(ListSetting value); 020 021 /** 022 * Visitor call for {@link ListListSetting}. 023 * @param value list list setting 024 */ 025 void visit(ListListSetting value); 026 027 /** 028 * Visitor call for {@link MapListSetting}. 029 * @param value map list setting 030 */ 031 void visit(MapListSetting value); 032}