gernotbelger@9050: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde gernotbelger@9050: * Software engineering by Intevation GmbH gernotbelger@9050: * gernotbelger@9050: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@9050: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@9050: * documentation coming with Dive4Elements River for details. gernotbelger@9050: */ gernotbelger@9050: gernotbelger@9054: package org.dive4elements.river.artifacts.sinfo.flood_duration; gernotbelger@9050: gernotbelger@9178: import java.util.LinkedHashMap; gernotbelger@9053: gernotbelger@9178: import org.dive4elements.artifacts.Artifact; gernotbelger@9178: import org.dive4elements.artifacts.CallMeta; gernotbelger@9053: import org.dive4elements.river.artifacts.states.RadioSelect; mschaefer@9176: import org.dive4elements.river.model.Attribute.AttributeKey; gernotbelger@9050: gernotbelger@9050: /** gernotbelger@9050: * @author Ingo Weinzierl gernotbelger@9050: */ gernotbelger@9053: public class RiversideRadioChoice extends RadioSelect { mschaefer@9176: gernotbelger@9050: private static final long serialVersionUID = 1L; gernotbelger@9050: mschaefer@9176: /***** TYPES *****/ mschaefer@9176: mschaefer@9176: public enum RiversideChoiceKey { mschaefer@9176: NONE("", AttributeKey.NONE), // mschaefer@9176: LEFT("state.sinfo.riverside.left", AttributeKey.LEFT), // mschaefer@9176: RIGHT("state.sinfo.riverside.right", AttributeKey.RIGHT), // mschaefer@9176: BOTH("state.sinfo.riverside.both", AttributeKey.UNKNOWN); mschaefer@9176: mschaefer@9176: private final String key; mschaefer@9176: private final AttributeKey attributeKey; mschaefer@9176: mschaefer@9176: RiversideChoiceKey(final String key, final AttributeKey attributeKey) { mschaefer@9176: this.key = key; mschaefer@9176: this.attributeKey = attributeKey; mschaefer@9176: } mschaefer@9176: mschaefer@9176: public static RiversideChoiceKey fromKey(final String key) { mschaefer@9176: for (final RiversideChoiceKey v : values()) { mschaefer@9176: if (key.equalsIgnoreCase(v.key)) mschaefer@9176: return v; mschaefer@9176: } mschaefer@9176: return NONE; mschaefer@9176: } mschaefer@9176: mschaefer@9176: public String getKey() { mschaefer@9176: return this.key; mschaefer@9176: } mschaefer@9176: mschaefer@9176: public AttributeKey getAttributeKey() { mschaefer@9176: return this.attributeKey; mschaefer@9176: } mschaefer@9176: } mschaefer@9176: mschaefer@9176: /***** CONSTRUCTORS *****/ mschaefer@9176: gernotbelger@9053: public RiversideRadioChoice() { gernotbelger@9053: super(); gernotbelger@9050: } gernotbelger@9053: mschaefer@9176: /***** METHODS *****/ mschaefer@9176: gernotbelger@9053: @Override gernotbelger@9178: protected LinkedHashMap makeEntries(final CallMeta meta, final Artifact artifact) { gernotbelger@9178: final LinkedHashMap entries = new LinkedHashMap<>(); gernotbelger@9179: entries.put(RiversideChoiceKey.LEFT.getKey(), null); gernotbelger@9179: entries.put(RiversideChoiceKey.RIGHT.getKey(), null); gernotbelger@9179: entries.put(RiversideChoiceKey.BOTH.getKey(), null); gernotbelger@9053: return entries; gernotbelger@9053: } gernotbelger@9050: }