gernotbelger@8996: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@8996: * Software engineering by gernotbelger@8996: * Björnsen Beratende Ingenieure GmbH gernotbelger@8996: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@8996: * gernotbelger@8996: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@8996: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@8996: * documentation coming with Dive4Elements River for details. gernotbelger@8996: */ gernotbelger@8996: package org.dive4elements.river.artifacts.uinfo.commons; gernotbelger@8996: gernotbelger@8996: import java.text.NumberFormat; gernotbelger@8996: gernotbelger@8996: import org.dive4elements.artifacts.CallContext; gernotbelger@8996: import org.dive4elements.river.artifacts.common.AbstractResultType; gernotbelger@8996: import org.dive4elements.river.utils.Formatter; gernotbelger@8996: gernotbelger@8996: /** gernotbelger@8996: * @author Domenico Nardi Tironi gernotbelger@8996: * gernotbelger@8996: */ gernotbelger@8996: public abstract class UInfoResultType extends AbstractResultType { gernotbelger@8996: gernotbelger@8996: public UInfoResultType(final String unit, final String csvHeader) { gernotbelger@8996: super(unit, csvHeader, csvHeader); gernotbelger@8996: gernotbelger@8996: } gernotbelger@8996: gernotbelger@8996: @Override gernotbelger@8996: public String exportValue(final CallContext context, final Object value) { gernotbelger@8996: // TODO Auto-generated method stub gernotbelger@8996: return null; gernotbelger@8996: } gernotbelger@8996: gernotbelger@8996: @Override gernotbelger@8996: protected NumberFormat createFormatter(final CallContext context) { gernotbelger@8996: // TODO Auto-generated method stub gernotbelger@8996: return null; gernotbelger@8996: } gernotbelger@8996: gernotbelger@8996: public static final UInfoResultType salixline = new UInfoResultType(null, "uinfo.export.salix_line.csv.header.salix_line") { gernotbelger@8996: @Override gernotbelger@8996: public String exportValue(final CallContext context, final Object value) { gernotbelger@8996: final double doubleValue = asDouble(value); gernotbelger@8996: return exportDoubleValue(context, doubleValue); gernotbelger@8996: } gernotbelger@8996: gernotbelger@8996: @Override gernotbelger@8996: protected NumberFormat createFormatter(final CallContext context) { gernotbelger@8996: // REMARK: other modules use Formatter.getWaterlevelW(context) instead, but that format with a variable number of gernotbelger@8996: // digits. gernotbelger@8996: return Formatter.getSalixLine(context); gernotbelger@8996: } gernotbelger@8996: }; gernotbelger@8996: gernotbelger@8996: public static final UInfoResultType salixlinehist = new UInfoResultType(null, "uinfo.export.salix_line.csv.header.hist") { gernotbelger@8996: @Override gernotbelger@8996: public String exportValue(final CallContext context, final Object value) { gernotbelger@8996: final double doubleValue = asDouble(value); gernotbelger@8996: return exportDoubleValue(context, doubleValue); gernotbelger@8996: } gernotbelger@8996: gernotbelger@8996: @Override gernotbelger@8996: protected NumberFormat createFormatter(final CallContext context) { gernotbelger@8996: // REMARK: other modules use Formatter.getWaterlevelW(context) instead, but that format with a variable number of gernotbelger@8996: // digits. gernotbelger@8996: return Formatter.getSalixLine(context); gernotbelger@8996: } gernotbelger@8996: }; gernotbelger@8996: gernotbelger@8996: public static final UInfoResultType salixlinescen = new UInfoResultType(null, "uinfo.export.salix_line.csv.header.scen") { gernotbelger@8996: @Override gernotbelger@8996: public String exportValue(final CallContext context, final Object value) { gernotbelger@8996: final double doubleValue = asDouble(value); gernotbelger@8996: return exportDoubleValue(context, doubleValue); gernotbelger@8996: } gernotbelger@8996: gernotbelger@8996: @Override gernotbelger@8996: protected NumberFormat createFormatter(final CallContext context) { gernotbelger@8996: // REMARK: other modules use Formatter.getWaterlevelW(context) instead, but that format with a variable number of gernotbelger@8996: // digits. gernotbelger@8996: return Formatter.getSalixLine(context); gernotbelger@8996: } gernotbelger@8996: }; gernotbelger@8996: gernotbelger@8996: }