gernotbelger@9062: /* Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@9062: * Software engineering by gernotbelger@9062: * Björnsen Beratende Ingenieure GmbH gernotbelger@9062: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@9062: * gernotbelger@9062: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@9062: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@9062: * documentation coming with Dive4Elements River for details. gernotbelger@9062: */ gernotbelger@9062: gernotbelger@9062: package org.dive4elements.river.artifacts.uinfo.salix; gernotbelger@9062: gernotbelger@9062: import org.apache.commons.lang.math.DoubleRange; gernotbelger@9062: import org.dive4elements.river.artifacts.access.RangeAccess; gernotbelger@9062: import org.dive4elements.river.artifacts.uinfo.UINFOArtifact; gernotbelger@9062: import org.dive4elements.river.artifacts.uinfo.UinfoCalcMode; gernotbelger@9062: gernotbelger@9062: /** gernotbelger@9062: * Access to the flow depth calculation type specific SInfo artifact data. gernotbelger@9062: * REMARK: this class is NOT intended to be hold in the results (or anywhere else), in order to avoid a permanent gernotbelger@9062: * reference to the artifact instance. gernotbelger@9062: * Hence we do NOT cache any data. gernotbelger@9062: * gernotbelger@9062: * @author Gernot Belger gernotbelger@9062: */ gernotbelger@9062: final class SalixLineAccess extends RangeAccess { gernotbelger@9062: gernotbelger@9062: static final String FIELD_DIFFID_CURRENT = "diffid_current"; gernotbelger@9062: static final String FIELD_DIFFID_HIST = "diffid_historical"; gernotbelger@9068: // calculation_mode gernotbelger@9068: // ld_from , ld_to gernotbelger@9068: // use_scenario (boolean) gernotbelger@9068: // ld_from_part; ld_to_part gernotbelger@9068: // scenario_selection (mögliche Werte:"scenarioType.option1" "scenarioType.option2" "scenarioType.option3" gernotbelger@9062: gernotbelger@9062: public SalixLineAccess(final UINFOArtifact artifact) { gernotbelger@9062: super(artifact); gernotbelger@9062: gernotbelger@9062: /* assert calculation mode */ gernotbelger@9062: final UinfoCalcMode calculationMode = artifact.getCalculationMode(); gernotbelger@9062: assert (calculationMode == UinfoCalcMode.uinfo_salix_line); gernotbelger@9062: } gernotbelger@9062: gernotbelger@9062: public DoubleRange getRange() { gernotbelger@9062: final double from = getFrom(); gernotbelger@9062: final double to = getTo(); gernotbelger@9062: return new DoubleRange(from, to); gernotbelger@9062: } gernotbelger@9062: gernotbelger@9068: public boolean getUseScenario() { gernotbelger@9068: return super.getBoolean("use_scenario"); gernotbelger@9068: } gernotbelger@9068: gernotbelger@9068: public String getScenario() { gernotbelger@9068: if (getUseScenario()) { gernotbelger@9068: return getString("scenario_selection"); gernotbelger@9068: } gernotbelger@9068: return null; gernotbelger@9068: } gernotbelger@9068: gernotbelger@9068: public double getFromPart() { gernotbelger@9068: return super.getDouble("ld_from_part"); gernotbelger@9068: } gernotbelger@9068: gernotbelger@9068: public double getToPart() { gernotbelger@9068: return super.getDouble("ld_to_part"); gernotbelger@9068: } gernotbelger@9062: }