Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/states/WaterlevelData.java @ 8915:d9dbf0b74bc2
Refaktoring of flow depth calculation, extracting tkh part. First implementation of tkh calculation.
author | gernotbelger |
---|---|
date | Wed, 28 Feb 2018 17:27:15 +0100 |
parents | a536e1aacf0f |
children | cef37cc093f2 |
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.artifacts.states; import org.dive4elements.river.artifacts.model.WKms; /** * Represents a waterlevel fetched with the {@link WaterlevelFetcher}. * * @author Gernot Belger */ public class WaterlevelData { private final WKms wkms; private final String name; private final int year; /** If <code>true</code>, tabular export will show gauges for every station, else only for the first gauge */ private final boolean showAllGauges; public WaterlevelData(final WKms wkms, final int year) { this(wkms, year, false); } public WaterlevelData(final WKms wkms, final int year, final boolean showAllGauges) { this(null, wkms, year, showAllGauges); } private WaterlevelData(final String name, final WKms wkms, final int year, final boolean showAllGauges) { this.name = name; this.wkms = wkms; this.year = year; this.showAllGauges = showAllGauges; } public WaterlevelData filterByRange(final double from, final double to) { if (Double.isNaN(from) || Double.isNaN(to)) { return this; } final WKms filteredWkms = this.wkms.filteredKms(from, to); return new WaterlevelData(this.name, filteredWkms, this.year, this.showAllGauges); } public WaterlevelData withName(final String nameToSet) { return new WaterlevelData(nameToSet, this.wkms, this.year, this.showAllGauges); } public String getName() { return this.name; } public WKms getWkms() { return this.wkms; } public boolean isShowAllGauges() { return this.showAllGauges; } public int getYear() { return this.year; } }