gernotbelger@9145: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@9145: * Software engineering by gernotbelger@9145: * Björnsen Beratende Ingenieure GmbH gernotbelger@9145: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@9145: * gernotbelger@9145: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@9145: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@9145: * documentation coming with Dive4Elements River for details. gernotbelger@9145: */ gernotbelger@9145: package org.dive4elements.river.artifacts.sinfo.flood_duration; gernotbelger@9145: gernotbelger@9145: import java.io.Serializable; gernotbelger@9145: import java.text.NumberFormat; gernotbelger@9145: d@9630: import org.dive4elements.artifacts.CallContext; d@9630: import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; d@9630: gernotbelger@9145: /** gernotbelger@9145: * @author Domenico Nardi Tironi gernotbelger@9145: * gernotbelger@9145: */ gernotbelger@9145: public class DurationWaterlevel implements Serializable { gernotbelger@9145: gernotbelger@9145: private static final long serialVersionUID = 1L; gernotbelger@9145: gernotbelger@9145: private final double w; gernotbelger@9145: private final double q; gernotbelger@9145: private final String bezeichnung; mschaefer@9357: private final double floodDurDaysPerYear; gernotbelger@9145: mschaefer@9357: public DurationWaterlevel(final double w, final double floodDurDaysPerYear, final double q, final String bezeichnung) { gernotbelger@9145: this.w = w; gernotbelger@9145: this.q = q; gernotbelger@9145: this.bezeichnung = bezeichnung; gernotbelger@9145: this.floodDurDaysPerYear = floodDurDaysPerYear; gernotbelger@9145: } gernotbelger@9145: gernotbelger@9205: public double getWaterlevel() { gernotbelger@9205: return this.w; gernotbelger@9205: } gernotbelger@9205: mschaefer@9269: public double getDischarge() { mschaefer@9269: return this.q; mschaefer@9269: } mschaefer@9269: mschaefer@9357: public double getFloodDurDaysPerYear() { gernotbelger@9205: return this.floodDurDaysPerYear; gernotbelger@9205: } gernotbelger@9205: mschaefer@9357: public String getFloodDurDaysPerYearFormatted(final NumberFormat durFormatter) { mschaefer@9357: return durFormatter.format(this.floodDurDaysPerYear); gernotbelger@9145: } gernotbelger@9145: gernotbelger@9145: public String getBezeichnung() { gernotbelger@9145: return this.bezeichnung; gernotbelger@9145: } gernotbelger@9145: gernotbelger@9145: public String getQFormatted(final NumberFormat qFormatter) { gernotbelger@9145: return qFormatter.format(this.q); gernotbelger@9145: } gernotbelger@9145: d@9630: public String getQFormatted3Significant(final CallContext context) { d@9630: return SInfoResultType.floodDischarge.exportValue(context, this.q); d@9630: } d@9630: gernotbelger@9145: public String getWFormatted(final NumberFormat wFormatter) { gernotbelger@9145: return wFormatter.format(this.w); gernotbelger@9145: } gernotbelger@9145: gernotbelger@9217: // normally, the label is included in the type, but we need to replace the index ("_1") gernotbelger@9145: public static final String getHeaderQ() { gernotbelger@9217: return "sinfo.flood_duration.header.q_index"; gernotbelger@9145: } gernotbelger@9145: gernotbelger@9217: public static final String getHeaderWPdf() { gernotbelger@9145: return "sinfo.flood_duration.header.pdf.w_index"; gernotbelger@9145: } gernotbelger@9145: gernotbelger@9217: public static final String getHeaderBezeichnPdf() { gernotbelger@9145: return "sinfo.flood_duration.header.pdf.bezeichnung_index"; gernotbelger@9145: } gernotbelger@9145: gernotbelger@9217: public static final String getHeaderFloodDurPerYearPdf() { gernotbelger@9145: return "sinfo.flood_duration.header.pdf.fd_per_year_index"; gernotbelger@9145: } gernotbelger@9217: gernotbelger@9217: public static final String getHeaderWCsv() { gernotbelger@9217: return "sinfo.flood_duration.header.w_index"; gernotbelger@9217: } gernotbelger@9217: gernotbelger@9217: public static final String getHeaderBezeichnCsv() { gernotbelger@9217: return "sinfo.flood_duration.header.bezeichnung_index"; gernotbelger@9217: } gernotbelger@9217: gernotbelger@9217: public static final String getHeaderFloodDurPerYearCsv() { gernotbelger@9217: return "sinfo.flood_duration.header.fd_per_year_index"; gernotbelger@9217: } gernotbelger@9217: gernotbelger@9145: }