gernotbelger@8964: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@8964: * Software engineering by gernotbelger@8964: * Björnsen Beratende Ingenieure GmbH gernotbelger@8964: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@8964: * gernotbelger@8964: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@8964: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@8964: * documentation coming with Dive4Elements River for details. gernotbelger@8964: */ gernotbelger@8964: package org.dive4elements.river.model; gernotbelger@8964: gernotbelger@8964: /** gernotbelger@8964: * Enumerations that allows to access min/max/mean value of {@link BedHeight} in the same way. gernotbelger@8964: * gernotbelger@8964: * @author Gernot Belger gernotbelger@8964: * gernotbelger@8964: */ gernotbelger@8964: public enum BedHeightValueType { gernotbelger@8964: min { gernotbelger@8964: @Override gernotbelger@8964: public Double getValue(final BedHeightValue bedheightValue) { gernotbelger@8964: return bedheightValue.getMinHeight(); gernotbelger@8964: } gernotbelger@9587: gernotbelger@9587: @Override gernotbelger@9587: public String getLeftRightStringAppendix() { gernotbelger@9587: return "bundu_facet_field_bedheight.description.appendix.left"; gernotbelger@9587: gernotbelger@9587: } gernotbelger@8964: }, gernotbelger@8964: max { gernotbelger@8964: @Override gernotbelger@8964: public Double getValue(final BedHeightValue bedheightValue) { gernotbelger@8964: return bedheightValue.getMaxHeight(); gernotbelger@8964: } gernotbelger@9587: gernotbelger@9587: @Override gernotbelger@9587: public String getLeftRightStringAppendix() { gernotbelger@9587: return "bundu_facet_field_bedheight.description.appendix.right"; gernotbelger@9587: } gernotbelger@8964: }, gernotbelger@8964: value { gernotbelger@8964: @Override gernotbelger@8964: public Double getValue(final BedHeightValue bedheightValue) { gernotbelger@8964: return bedheightValue.getHeight(); gernotbelger@8964: } mschaefer@9444: }, mschaefer@9444: field01 { mschaefer@9444: @Override mschaefer@9444: public Double getValue(final BedHeightValue bedheightValue) { mschaefer@9444: return bedheightValue.getHeight01(); mschaefer@9444: } gernotbelger@9587: gernotbelger@9587: @Override gernotbelger@9587: public String getLeftRightStringAppendix() { gernotbelger@9587: return min.getLeftRightStringAppendix(); gernotbelger@9587: } mschaefer@9444: }, mschaefer@9444: field02 { mschaefer@9444: @Override mschaefer@9444: public Double getValue(final BedHeightValue bedheightValue) { mschaefer@9444: return bedheightValue.getHeight02(); mschaefer@9444: } mschaefer@9444: }, mschaefer@9444: field03 { mschaefer@9444: @Override mschaefer@9444: public Double getValue(final BedHeightValue bedheightValue) { mschaefer@9444: return bedheightValue.getHeight03(); mschaefer@9444: } mschaefer@9444: }, mschaefer@9444: field04 { mschaefer@9444: @Override mschaefer@9444: public Double getValue(final BedHeightValue bedheightValue) { mschaefer@9444: return bedheightValue.getHeight04(); mschaefer@9444: } mschaefer@9444: }, mschaefer@9444: field05 { mschaefer@9444: @Override mschaefer@9444: public Double getValue(final BedHeightValue bedheightValue) { mschaefer@9444: return bedheightValue.getHeight05(); mschaefer@9444: } mschaefer@9444: }, mschaefer@9444: field06 { mschaefer@9444: @Override mschaefer@9444: public Double getValue(final BedHeightValue bedheightValue) { mschaefer@9444: return bedheightValue.getHeight06(); mschaefer@9444: } mschaefer@9444: }, mschaefer@9444: field07 { mschaefer@9444: @Override mschaefer@9444: public Double getValue(final BedHeightValue bedheightValue) { mschaefer@9444: return bedheightValue.getHeight07(); mschaefer@9444: } mschaefer@9444: }, mschaefer@9444: field08 { mschaefer@9444: @Override mschaefer@9444: public Double getValue(final BedHeightValue bedheightValue) { mschaefer@9444: return bedheightValue.getHeight08(); mschaefer@9444: } mschaefer@9444: }, mschaefer@9444: field09 { mschaefer@9444: @Override mschaefer@9444: public Double getValue(final BedHeightValue bedheightValue) { mschaefer@9444: return bedheightValue.getHeight09(); mschaefer@9444: } mschaefer@9444: }, mschaefer@9444: field10 { mschaefer@9444: @Override mschaefer@9444: public Double getValue(final BedHeightValue bedheightValue) { mschaefer@9444: return bedheightValue.getHeight10(); mschaefer@9444: } gernotbelger@9587: gernotbelger@9587: @Override gernotbelger@9587: public String getLeftRightStringAppendix() { gernotbelger@9587: return max.getLeftRightStringAppendix(); gernotbelger@9587: } gernotbelger@8964: }; gernotbelger@8964: gernotbelger@8964: public abstract Double getValue(final BedHeightValue bedheightValue); mschaefer@9444: gernotbelger@9587: public String getLeftRightStringAppendix() { gernotbelger@9587: return ""; gernotbelger@9587: } gernotbelger@9587: mschaefer@9444: /** mschaefer@9444: * Enum constant of a section height mschaefer@9444: * mschaefer@9444: * @param index mschaefer@9444: * 1-based section index mschaefer@9444: */ mschaefer@9444: public static BedHeightValueType field(final int index) { mschaefer@9444: return valueOf(String.format("field%02d", index)); mschaefer@9444: } mschaefer@9444: mschaefer@9444: public static final int FIELD_FIRST_INDEX = 1; mschaefer@9444: public static final int FIELD_LAST_INDEX = 10; gernotbelger@8964: }