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: }