teichmann@5863: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5863: * Software engineering by Intevation GmbH teichmann@5863: * teichmann@5994: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5863: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5994: * documentation coming with Dive4Elements River for details. teichmann@5863: */ teichmann@5863: teichmann@5831: package org.dive4elements.river.utils; ingo@445: sascha@3402: import java.text.DateFormat; gernotbelger@8951: import java.text.DecimalFormat; sascha@3402: import java.text.NumberFormat; sascha@3402: import java.text.SimpleDateFormat; christian@3771: import java.util.Locale; sascha@3402: teichmann@5831: import org.dive4elements.artifacts.CallContext; teichmann@5831: import org.dive4elements.artifacts.CallMeta; teichmann@5831: import org.dive4elements.river.artifacts.resources.Resources; sascha@3402: felix@5639: /** Helper to access static i18n Formatters. */ ingo@445: public final class Formatter { ingo@445: sascha@2290: // KMS IN ERROR REPORTS. sascha@2305: public static final int CALCULATION_REPORT_KM_MIN_DIGITS = 1; sascha@2290: public static final int CALCULATION_REPORT_KM_MAX_DIGITS = 3; sascha@2290: ingo@445: // WATERLEVEL FORMATTER CONSTANTS ingo@445: public static final int WATERLEVEL_KM_MIN_DIGITS = 3; ingo@445: public static final int WATERLEVEL_KM_MAX_DIGITS = 3; gernotbelger@8996: public static final int WATERLEVEL_W_MIN_DIGITS = 0; gernotbelger@8996: public static final int WATERLEVEL_W_MAX_DIGITS = 2; gernotbelger@8996: public static final int WATERLEVEL_Q_MIN_DIGITS = 0; gernotbelger@8996: public static final int WATERLEVEL_Q_MAX_DIGITS = 2; ingo@445: ingo@445: // COMPUTED DISCHARGE CURVE FORMATTER CONSTANTS gernotbelger@8996: public static final int COMPUTED_DISCHARGE_W_MIN_DIGITS = 2; gernotbelger@8996: public static final int COMPUTED_DISCHARGE_W_MAX_DIGITS = 2; gernotbelger@8996: public static final int COMPUTED_DISCHARGE_Q_MIN_DIGITS = 0; gernotbelger@8996: public static final int COMPUTED_DISCHARGE_Q_MAX_DIGITS = 2; ingo@445: ingo@2258: // HISTORICAL DISCHARGE CURVE FORMATTER CONSTANTS ingo@2258: public static final int HISTORICAL_DISCHARGE_W_MIN_DIGITS = 0; ingo@2258: public static final int HISTORICAL_DISCHARGE_W_MAX_DIGITS = 2; ingo@2258: public static final int HISTORICAL_DISCHARGE_Q_MIN_DIGITS = 0; ingo@2258: public static final int HISTORICAL_DISCHARGE_Q_MAX_DIGITS = 2; ingo@2258: ingo@445: // DURATION CURVE FORMATTER CONSTANTS ingo@445: public static final int DURATION_W_MIN_DIGITS = 0; ingo@445: public static final int DURATION_W_MAX_DIGITS = 2; ingo@445: public static final int DURATION_Q_MIN_DIGITS = 0; ingo@445: public static final int DURATION_Q_MAX_DIGITS = 1; ingo@445: public static final int DURATION_D_MIN_DIGITS = 0; ingo@445: public static final int DURATION_D_MAX_DIGITS = 0; ingo@445: ingo@2702: // FLOW VELOCITY FORMATTER CONSTANTS gernotbelger@8996: public static final int FLOW_VELOCITY_KM_MIN_DIGITS = 3; gernotbelger@8996: public static final int FLOW_VELOCITY_KM_MAX_DIGITS = 3; ingo@2702: public static final int FLOW_VELOCITY_VALUES_MIN_DIGITS = 2; ingo@2702: public static final int FLOW_VELOCITY_VALUES_MAX_DIGITS = 2; gernotbelger@8996: public static final int FLOW_VELOCITY_Q_MIN_DIGITS = 0; gernotbelger@8996: public static final int FLOW_VELOCITY_Q_MAX_DIGITS = 2; ingo@2702: gernotbelger@9573: // MEAN BED LEVEL FORMATTER CONSTANTS gernotbelger@8996: public static final int MIDDLE_BED_HEIGHT_KM_MIN_DIGITS = 3; gernotbelger@8996: public static final int MIDDLE_BED_HEIGHT_KM_MAX_DIGITS = 3; gernotbelger@8996: public static final int MIDDLE_BED_HEIGHT_HEIGHT_MIN_DIGITS = 3; gernotbelger@8996: public static final int MIDDLE_BED_HEIGHT_HEIGHT_MAX_DIGITS = 3; gernotbelger@8996: public static final int MIDDLE_BED_HEIGHT_UNCERT_MIN_DIGITS = 3; gernotbelger@8996: public static final int MIDDLE_BED_HEIGHT_UNCERT_MAX_DIGITS = 3; gernotbelger@8996: public static final int MIDDLE_BED_HEIGHT_DATAGAP_MIN_DIGITS = 2; gernotbelger@8996: public static final int MIDDLE_BED_HEIGHT_DATAGAP_MAX_DIGITS = 2; ingo@2714: public static final int MIDDLE_BED_HEIGHT_SOUNDING_WIDTH_MIN_DIGITS = 0; ingo@2714: public static final int MIDDLE_BED_HEIGHT_SOUNDING_WIDTH_MAX_DIGITS = 0; gernotbelger@8996: public static final int MIDDLE_BED_HEIGHT_WIDTH_MIN_DIGITS = 3; gernotbelger@8996: public static final int MIDDLE_BED_HEIGHT_WIDTH_MAX_DIGITS = 3; ingo@2714: sascha@2787: public static final int FIX_DELTA_W_KM_MIN_DIGITS = 3; sascha@2787: public static final int FIX_DELTA_W_KM_MAX_DIGITS = 3; sascha@2787: public static final int FIX_DELTA_W_DELTA_W_MIN_DIGITS = 3; sascha@2787: public static final int FIX_DELTA_W_DELTA_W_MAX_DIGITS = 3; gernotbelger@8996: public static final int FIX_DELTA_W_DELTA_Q_MIN_DIGITS = 0; gernotbelger@8996: public static final int FIX_DELTA_W_DELTA_Q_MAX_DIGITS = 2; sascha@2787: aheinecke@6207: public static final int VARIANCE_MIN_DIGITS = 3; aheinecke@6207: public static final int VARIANCE_MAX_DIGITS = 3; aheinecke@6172: aheinecke@6172: // SQ Relation aheinecke@6322: public static final int SQ_RELATION_KM_MIN_DIGITS = 2; aheinecke@6322: public static final int SQ_RELATION_KM_MAX_DIGITS = 2; gernotbelger@8996: public static final int SQ_RELATION_A_MAX_DIGITS = 2; gernotbelger@8996: public static final int SQ_RELATION_A_MIN_DIGITS = 2; gernotbelger@8996: public static final int SQ_RELATION_B_MAX_DIGITS = 3; gernotbelger@8996: public static final int SQ_RELATION_B_MIN_DIGITS = 3; felix@5639: felix@7047: // OTHER gernotbelger@8996: public static final int CSV_DIAGRAM_DATA_MAX_DIGITS = 3; gernotbelger@8996: public static final int CSV_DIAGRAM_DATA_MIN_DIGITS = 3; felix@7047: mschaefer@9335: // S-INFO mschaefer@9335: public static final int FLOWDEPTH_MAX_DIGITS = 2; mschaefer@9335: felix@3017: /** christian@3771: * Creates a localized NumberFormatter with given range of decimal digits. gernotbelger@9006: * gernotbelger@8996: * @param m gernotbelger@8996: * CallMeta to find the locale. gernotbelger@8996: * @param min gernotbelger@8996: * minimum number of decimal ("fraction") digits. gernotbelger@8996: * @param max gernotbelger@8996: * maximum number of decimal ("fraction") digits. felix@3017: * @return A NumberFormat. Use #format(NUMBER) to get String representation felix@3017: * of NUMBER. felix@3017: */ gernotbelger@8996: public static NumberFormat getFormatter(final CallMeta m, final int min, final int max) { gernotbelger@8996: final Locale locale = Resources.getLocale(m); gernotbelger@8996: final NumberFormat nf = NumberFormat.getInstance(locale); ingo@445: ingo@445: nf.setMaximumFractionDigits(max); ingo@445: nf.setMinimumFractionDigits(min); ingo@445: ingo@445: return nf; ingo@445: } ingo@445: gernotbelger@8996: public static NumberFormat getFormatter(final CallContext c, final int min, final int max) { sascha@2290: return getFormatter(c.getMeta(), min, max); sascha@2290: } sascha@2290: ingo@445: /** ingo@2087: * Returns a number formatter with no max or min digits set. ingo@2087: * gernotbelger@8996: * @param c gernotbelger@8996: * The CallContext. ingo@2087: * ingo@2087: * @return a number formatter. ingo@2087: */ gernotbelger@8951: public static NumberFormat getRawFormatter(final CallContext c) { gernotbelger@8951: final Locale locale = Resources.getLocale(c.getMeta()); ingo@2087: return NumberFormat.getInstance(locale); ingo@2087: } ingo@2087: aheinecke@6172: /** felix@6683: * Returns a formatter in engineering notation. aheinecke@6172: */ gernotbelger@8951: public static NumberFormat getEngFormatter(final CallContext c) { gernotbelger@8951: final NumberFormat nf = getRawFormatter(c); aheinecke@6172: if (nf instanceof DecimalFormat) { gernotbelger@8996: final DecimalFormat df = (DecimalFormat) nf; aheinecke@6172: df.applyPattern("##0.#####E0"); aheinecke@6172: } aheinecke@6172: return nf; aheinecke@6172: } aheinecke@6172: aheinecke@6172: /** felix@6683: * Returns a number formatter that uses an exponent after max digits. aheinecke@6172: */ gernotbelger@8996: public static NumberFormat getScientificFormater(final CallContext c, final int min, final int max) { gernotbelger@8951: final NumberFormat nf = getRawFormatter(c); aheinecke@6172: if (nf instanceof DecimalFormat) { gernotbelger@8996: final DecimalFormat df = (DecimalFormat) nf; aheinecke@6172: df.applyPattern("0.0E0"); aheinecke@6172: df.setMaximumFractionDigits(max); aheinecke@6172: df.setMinimumFractionDigits(min); aheinecke@6172: } aheinecke@6172: return nf; aheinecke@6172: } aheinecke@6172: ingo@2087: /** ingo@2258: * Returns a date formatter with SHORT style. ingo@2258: */ gernotbelger@8951: public static DateFormat getShortDateFormat(final CallContext cc) { gernotbelger@8951: final Locale locale = Resources.getLocale(cc.getMeta()); ingo@2258: return DateFormat.getDateInstance(DateFormat.SHORT, locale); ingo@2258: } ingo@2258: ingo@2258: /** raimund@2588: * Returns a date formatter with MEDIUM style. raimund@2588: */ gernotbelger@8951: public static DateFormat getMediumDateFormat(final CallContext cc) { gernotbelger@8951: final Locale locale = Resources.getLocale(cc.getMeta()); raimund@2588: return DateFormat.getDateInstance(DateFormat.MEDIUM, locale); raimund@2588: } raimund@2588: raimund@2588: /** ingo@445: * Returns the number formatter for kilometer values in waterlevel exports. ingo@445: * ingo@445: * @return the number formatter for kilometer values. ingo@445: */ gernotbelger@8951: public static NumberFormat getWaterlevelKM(final CallContext context) { gernotbelger@8996: return getFormatter(context, WATERLEVEL_KM_MIN_DIGITS, WATERLEVEL_KM_MAX_DIGITS); ingo@445: } ingo@445: felix@7047: /** felix@7047: * Returns the number formatter for data exported from diagram (not from felix@7047: * calculation. felix@7047: * felix@7047: * @return the number formatter for csv data from diagra. felix@7047: */ gernotbelger@8951: public static NumberFormat getCSVFormatter(final CallContext context) { gernotbelger@8996: return getFormatter(context, CSV_DIAGRAM_DATA_MIN_DIGITS, CSV_DIAGRAM_DATA_MAX_DIGITS); felix@7047: } felix@5639: gernotbelger@8951: public static NumberFormat getWaterlevelW(final CallMeta meta) { gernotbelger@8996: return getFormatter(meta, WATERLEVEL_W_MIN_DIGITS, WATERLEVEL_W_MAX_DIGITS); sascha@3162: } ingo@445: ingo@445: /** ingo@445: * Returns the number formatter for W values in waterlevel exports. ingo@445: * ingo@445: * @return the number formatter for W values. ingo@445: */ gernotbelger@8951: public static NumberFormat getWaterlevelW(final CallContext context) { gernotbelger@8996: return getFormatter(context, WATERLEVEL_W_MIN_DIGITS, WATERLEVEL_W_MAX_DIGITS); ingo@445: } ingo@445: ingo@445: /** ingo@445: * Returns the number formatter for Q values in waterlevel exports. ingo@445: * ingo@445: * @return the number formatter for Q values. ingo@445: */ gernotbelger@8951: public static NumberFormat getWaterlevelQ(final CallContext context) { gernotbelger@8996: return getFormatter(context, WATERLEVEL_Q_MIN_DIGITS, WATERLEVEL_Q_MAX_DIGITS); ingo@445: } ingo@445: gernotbelger@8951: public static NumberFormat getWaterlevelQ(final CallMeta meta) { gernotbelger@8996: return getFormatter(meta, WATERLEVEL_Q_MIN_DIGITS, WATERLEVEL_Q_MAX_DIGITS); sascha@3162: } ingo@445: ingo@445: /** ingo@445: * Returns the number formatter for W values in exports of computed ingo@445: * discharge curves. ingo@445: * ingo@445: * @return the number formatter for W values. ingo@445: */ gernotbelger@8951: public static NumberFormat getComputedDischargeW(final CallContext context) { gernotbelger@8996: return getFormatter(context, COMPUTED_DISCHARGE_W_MIN_DIGITS, COMPUTED_DISCHARGE_W_MAX_DIGITS); ingo@445: } ingo@445: ingo@445: /** ingo@445: * Returns the number formatter for Q values in exports of computed ingo@445: * discharge curves. ingo@445: * ingo@445: * @return the number formatter for Q values. ingo@445: */ gernotbelger@8951: public static NumberFormat getComputedDischargeQ(final CallContext context) { gernotbelger@8996: return getFormatter(context, COMPUTED_DISCHARGE_Q_MIN_DIGITS, COMPUTED_DISCHARGE_Q_MAX_DIGITS); ingo@445: } ingo@445: ingo@445: /** ingo@2258: * Returns the number formatter for W values in exports of historical ingo@2258: * discharge curves. ingo@2258: * ingo@2258: * @return the number formatter for W values. ingo@2258: */ gernotbelger@8951: public static NumberFormat getHistoricalDischargeW(final CallContext context) { gernotbelger@8996: return getFormatter(context, HISTORICAL_DISCHARGE_W_MIN_DIGITS, HISTORICAL_DISCHARGE_W_MAX_DIGITS); ingo@2258: } ingo@2258: ingo@2258: /** ingo@2258: * Returns the number formatter for Q values in exports of historical ingo@2258: * discharge curves. ingo@2258: * ingo@2258: * @return the number formatter for Q values. ingo@2258: */ gernotbelger@8951: public static NumberFormat getHistoricalDischargeQ(final CallContext context) { gernotbelger@8996: return getFormatter(context, HISTORICAL_DISCHARGE_Q_MIN_DIGITS, HISTORICAL_DISCHARGE_Q_MAX_DIGITS); ingo@2258: } ingo@2258: ingo@2258: /** ingo@445: * Returns the number formatter for W values in duration curve exports. ingo@445: * ingo@445: * @return the number formatter for W values. ingo@445: */ gernotbelger@8951: public static NumberFormat getDurationW(final CallContext context) { gernotbelger@8996: return getFormatter(context, DURATION_W_MIN_DIGITS, DURATION_W_MAX_DIGITS); ingo@445: } ingo@445: ingo@445: /** ingo@445: * Returns the number formatter for Q values in duration curve exports. ingo@445: * ingo@445: * @return the number formatter for W values. ingo@445: */ gernotbelger@8951: public static NumberFormat getDurationQ(final CallContext context) { gernotbelger@8996: return getFormatter(context, DURATION_Q_MIN_DIGITS, DURATION_Q_MAX_DIGITS); ingo@445: } ingo@445: ingo@445: /** ingo@445: * Returns the number formatter for D values in duration curve exports. ingo@445: * ingo@445: * @return the number formatter for W values. ingo@445: */ gernotbelger@8951: public static NumberFormat getDurationD(final CallContext context) { gernotbelger@8996: return getFormatter(context, DURATION_D_MIN_DIGITS, DURATION_D_MAX_DIGITS); ingo@445: } sascha@2290: gernotbelger@8951: public static NumberFormat getCalculationKm(final CallMeta meta) { gernotbelger@8996: return getFormatter(meta, CALCULATION_REPORT_KM_MIN_DIGITS, CALCULATION_REPORT_KM_MAX_DIGITS); ingo@2714: } ingo@2714: gernotbelger@8996: public static NumberFormat getFlowVelocityKM(final CallContext context) { gernotbelger@8996: return getFormatter(context, FLOW_VELOCITY_KM_MIN_DIGITS, FLOW_VELOCITY_KM_MAX_DIGITS); ingo@2714: } ingo@2714: gernotbelger@8996: public static NumberFormat getFlowVelocityValues(final CallContext context) { gernotbelger@8996: return getFormatter(context, FLOW_VELOCITY_VALUES_MIN_DIGITS, FLOW_VELOCITY_VALUES_MAX_DIGITS); gernotbelger@8996: } gernotbelger@8996: gernotbelger@8996: public static NumberFormat getFlowVelocityQ(final CallContext context) { gernotbelger@8996: return getFormatter(context, FLOW_VELOCITY_Q_MIN_DIGITS, FLOW_VELOCITY_Q_MAX_DIGITS); gernotbelger@8996: } gernotbelger@8996: gernotbelger@8996: public static NumberFormat getMiddleBedHeightKM(final CallContext context) { gernotbelger@8996: return getFormatter(context, MIDDLE_BED_HEIGHT_KM_MIN_DIGITS, MIDDLE_BED_HEIGHT_KM_MAX_DIGITS); gernotbelger@8996: } gernotbelger@8996: gernotbelger@8996: public static NumberFormat getMiddleBedHeightHeight(final CallContext context) { gernotbelger@8996: return getFormatter(context, MIDDLE_BED_HEIGHT_HEIGHT_MIN_DIGITS, MIDDLE_BED_HEIGHT_HEIGHT_MAX_DIGITS); gernotbelger@8996: } ingo@2714: gernotbelger@8951: public static NumberFormat getMiddleBedHeightUncert(final CallContext context) { gernotbelger@8996: return getFormatter(context, MIDDLE_BED_HEIGHT_UNCERT_MIN_DIGITS, MIDDLE_BED_HEIGHT_UNCERT_MAX_DIGITS); ingo@2714: } ingo@2714: gernotbelger@8951: public static NumberFormat getMiddleBedHeightDataGap(final CallContext context) { gernotbelger@8996: return getFormatter(context, MIDDLE_BED_HEIGHT_DATAGAP_MIN_DIGITS, MIDDLE_BED_HEIGHT_DATAGAP_MAX_DIGITS); ingo@2714: } ingo@2714: gernotbelger@8996: public static NumberFormat getMiddleBedHeightSounding(final CallContext context) { gernotbelger@8996: return getFormatter(context, MIDDLE_BED_HEIGHT_SOUNDING_WIDTH_MIN_DIGITS, MIDDLE_BED_HEIGHT_SOUNDING_WIDTH_MAX_DIGITS); ingo@2714: } ingo@2714: gernotbelger@8951: public static NumberFormat getFixDeltaWKM(final CallContext context) { gernotbelger@8996: return getFormatter(context, FIX_DELTA_W_KM_MIN_DIGITS, FIX_DELTA_W_KM_MAX_DIGITS); sascha@2787: } sascha@2787: gernotbelger@8951: public static NumberFormat getFixDeltaWDeltaW(final CallContext context) { gernotbelger@8996: return getFormatter(context, FIX_DELTA_W_DELTA_W_MIN_DIGITS, FIX_DELTA_W_DELTA_W_MAX_DIGITS); sascha@3402: } sascha@3397: gernotbelger@8951: public static NumberFormat getFixDeltaWQ(final CallContext context) { gernotbelger@8996: return getFormatter(context, FIX_DELTA_W_DELTA_Q_MIN_DIGITS, FIX_DELTA_W_DELTA_Q_MAX_DIGITS); gernotbelger@8951: } gernotbelger@8951: gernotbelger@8951: public static NumberFormat getFixDeltaWW(final CallContext context) { gernotbelger@8996: return getFormatter(context, FIX_DELTA_W_DELTA_W_MIN_DIGITS, FIX_DELTA_W_DELTA_W_MAX_DIGITS); gernotbelger@8951: } gernotbelger@8951: gernotbelger@8951: public static NumberFormat getVariance(final CallContext context) { gernotbelger@8996: return getFormatter(context, VARIANCE_MIN_DIGITS, VARIANCE_MAX_DIGITS); aheinecke@6172: } aheinecke@6172: gernotbelger@8951: public static NumberFormat getSQRelationA(final CallContext context) { gernotbelger@8996: return getScientificFormater(context, SQ_RELATION_A_MIN_DIGITS, SQ_RELATION_A_MAX_DIGITS); aheinecke@6207: } aheinecke@6207: gernotbelger@8951: public static NumberFormat getSQRelationB(final CallContext context) { gernotbelger@8996: return getFormatter(context, SQ_RELATION_B_MIN_DIGITS, SQ_RELATION_B_MAX_DIGITS); aheinecke@6172: } aheinecke@6172: gernotbelger@8951: public static NumberFormat getSQRelationKM(final CallContext context) { gernotbelger@8996: return getFormatter(context, SQ_RELATION_KM_MIN_DIGITS, SQ_RELATION_KM_MAX_DIGITS); aheinecke@6322: } aheinecke@6322: gernotbelger@8951: public static NumberFormat getMeterFormat(final CallContext context) { gernotbelger@8996: return getFormatter(context, 0, 2); sascha@3076: felix@3017: } sascha@3402: gernotbelger@8951: public static DateFormat getDateFormatter(final CallMeta m, final String pattern) { gernotbelger@8951: final Locale locale = Resources.getLocale(m); sascha@3402: return new SimpleDateFormat(pattern, locale); sascha@3402: } gernotbelger@8862: gernotbelger@8951: public static NumberFormat getMeanBedHeight(final CallContext context) { gernotbelger@8862: return Formatter.getFormatter(context, 2, 2); gernotbelger@8862: } gernotbelger@8862: gernotbelger@8951: public static NumberFormat getTkh(final CallContext context) { gernotbelger@8862: return Formatter.getFormatter(context, 1, 1); gernotbelger@8862: } gernotbelger@8862: gernotbelger@8951: public static NumberFormat getFlowDepth(final CallContext context) { mschaefer@9335: return Formatter.getFormatter(context, FLOWDEPTH_MAX_DIGITS, FLOWDEPTH_MAX_DIGITS); mschaefer@9335: } mschaefer@9335: gernotbelger@8951: public static NumberFormat getW(final CallContext context) { gernotbelger@8862: return Formatter.getFormatter(context, 2, 2); gernotbelger@8862: } gernotbelger@8862: mschaefer@9382: /** gernotbelger@8862: * Another waterlevel formatter with fixed digits (always 2) gernotbelger@8862: */ gernotbelger@8951: public static NumberFormat getWaterlevelW2(final CallMeta meta) { gernotbelger@8996: return getFormatter(meta, 2, 2); gernotbelger@8862: } gernotbelger@8951: mschaefer@9112: public static NumberFormat getChannelWidth(final CallContext context) { mschaefer@9112: return getFormatter(context.getMeta(), 2, 2); mschaefer@9112: } mschaefer@9112: mschaefer@9112: public static NumberFormat getChannelDepth(final CallContext context) { mschaefer@9112: return getFormatter(context.getMeta(), 2, 2); mschaefer@9112: } mschaefer@9112: gernotbelger@8951: public static NumberFormat getFlowDepthDevelopmentPerYear(final CallContext context) { gernotbelger@8951: return getFormatter(context.getMeta(), 2, 2); gernotbelger@8951: } gernotbelger@8996: gernotbelger@8996: public static NumberFormat getSalixLine(final CallContext context) { gernotbelger@8996: return Formatter.getFormatter(context, 2, 2); gernotbelger@8996: } gernotbelger@9006: gernotbelger@9006: public static NumberFormat getUeberflutungsdauer(final CallContext context) { gernotbelger@9006: return Formatter.getFormatter(context, 0, 0); gernotbelger@9006: } mschaefer@9115: mschaefer@9115: public static NumberFormat getInfrastructureHeight(final CallContext context) { mschaefer@9115: return getFormatter(context.getMeta(), 2, 2); mschaefer@9115: } mschaefer@9117: gernotbelger@9145: public static NumberFormat getIntegerFormatter(final CallContext context) { gernotbelger@9145: return getFormatter(context.getMeta(), 0, 0); gernotbelger@9145: } gernotbelger@9145: mschaefer@9117: public static NumberFormat getCollisionCount(final CallContext context) { mschaefer@9117: return getFormatter(context.getMeta(), 0, 0); mschaefer@9117: } mschaefer@9117: mschaefer@9117: public static NumberFormat getCollisionGaugeW(final CallContext context) { mschaefer@9117: return getFormatter(context.getMeta(), 0, 2); // cm mschaefer@9117: } mschaefer@9432: mschaefer@9432: public static NumberFormat getCurrencyFormat(final CallContext context) { mschaefer@9451: final NumberFormat nf = getFormatter(context.getMeta(), 2, 2); mschaefer@9432: nf.setGroupingUsed(true); mschaefer@9432: return nf; mschaefer@9432: } mschaefer@9432: mschaefer@9432: public static NumberFormat getDensityFormat(final CallContext context) { mschaefer@9432: return getFormatter(context, 3, 3); mschaefer@9432: } mschaefer@9432: mschaefer@9432: public static NumberFormat getMassFormat(final CallContext context) { mschaefer@9432: return getFormatter(context, 0, 1); mschaefer@9432: } gernotbelger@8951: }