001package fr.ifremer.adagio.core.dao.technical; 002 003/* 004 * #%L 005 * SIH-Adagio :: Shared 006 * $Id:$ 007 * $HeadURL:$ 008 * %% 009 * Copyright (C) 2012 - 2014 Ifremer 010 * %% 011 * This program is free software: you can redistribute it and/or modify 012 * it under the terms of the GNU Affero General Public License as published by 013 * the Free Software Foundation, either version 3 of the License, or 014 * (at your option) any later version. 015 * 016 * This program is distributed in the hope that it will be useful, 017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 019 * GNU General Public License for more details. 020 * 021 * You should have received a copy of the GNU Affero General Public License 022 * along with this program. If not, see <http://www.gnu.org/licenses/>. 023 * #L% 024 */ 025 026 027 028public interface AdagioEnumerationDef<T> { 029 030 static final String CONFIG_OPTION_PREFIX = "adagio.enumeration."; 031 032 /** @return la clef identifiant l'option */ 033 String getKey(); 034 035 /** @return le type de l'option */ 036 Class<?> getType(); 037 038 /** @return la clef i18n de description de l'option */ 039 String getDescription(); 040 041 /** 042 * reload value from application config 043 * @param applicationConfig the applicationConfig to use to reload value 044 */ 045 void setValue(T value); 046 047 String getValueAsString(); 048 049 T getValue(); 050}