view backend/src/main/java/org/dive4elements/river/model/BedHeightValueType.java @ 9587:d116a791b1f8

zu Punkt 10.4 Sohlhöhe Feld 1 (links)...
author gernotbelger
date Thu, 10 Jan 2019 09:07:16 +0100
parents ecadc9ed0ba0
children
line wrap: on
line source
/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
 * Software engineering by
 *  Björnsen Beratende Ingenieure GmbH
 *  Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
 *
 * This file is Free Software under the GNU AGPL (>=v3)
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details.
 */
package org.dive4elements.river.model;

/**
 * Enumerations that allows to access min/max/mean value of {@link BedHeight} in the same way.
 *
 * @author Gernot Belger
 *
 */
public enum BedHeightValueType {
    min {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getMinHeight();
        }

        @Override
        public String getLeftRightStringAppendix() {
            return "bundu_facet_field_bedheight.description.appendix.left";

        }
    },
    max {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getMaxHeight();
        }

        @Override
        public String getLeftRightStringAppendix() {
            return "bundu_facet_field_bedheight.description.appendix.right";
        }
    },
    value {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getHeight();
        }
    },
    field01 {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getHeight01();
        }

        @Override
        public String getLeftRightStringAppendix() {
            return min.getLeftRightStringAppendix();
        }
    },
    field02 {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getHeight02();
        }
    },
    field03 {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getHeight03();
        }
    },
    field04 {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getHeight04();
        }
    },
    field05 {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getHeight05();
        }
    },
    field06 {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getHeight06();
        }
    },
    field07 {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getHeight07();
        }
    },
    field08 {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getHeight08();
        }
    },
    field09 {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getHeight09();
        }
    },
    field10 {
        @Override
        public Double getValue(final BedHeightValue bedheightValue) {
            return bedheightValue.getHeight10();
        }

        @Override
        public String getLeftRightStringAppendix() {
            return max.getLeftRightStringAppendix();
        }
    };

    public abstract Double getValue(final BedHeightValue bedheightValue);

    public String getLeftRightStringAppendix() {
        return "";
    }

    /**
     * Enum constant of a section height
     *
     * @param index
     *            1-based section index
     */
    public static BedHeightValueType field(final int index) {
        return valueOf(String.format("field%02d", index));
    }

    public static final int FIELD_FIRST_INDEX = 1;
    public static final int FIELD_LAST_INDEX = 10;
}

http://dive4elements.wald.intevation.org