Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/FunctionFactory.java @ 6301:20a32dbdbb59
Remove discharge table scaling but add reference system to W
- Discharge_Tables are now always W[cm] Q[m³] no need for
special case handling depending on historical / master tables
- W now has a referenceSystem value that can be CENTIMETER_AT_GAUGE or
METER_OVER_REFPOINT. The default is METER_OVER_REFPOINT as this is
the case for everything except the objects created from discharge tables
Known issue: WINFO input validation is currently broken as it still scales
the user input.
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 12 Jun 2013 10:54:27 +0200 |
parents | af13ceeba52a |
children | 58f3fe98fd6b |
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde * Software engineering by Intevation GmbH * * 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.math.fitting; import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; public final class FunctionFactory { private static FunctionFactory instance; private Map<String, Function> functions; private FunctionFactory() { functions = new LinkedHashMap<String, Function>(); registerFunction(Log.INSTANCE); registerFunction(Linear.INSTANCE); registerFunction(LogLinear.INSTANCE); registerFunction(Exp.INSTANCE); registerFunction(Quad.INSTANCE); registerFunction(Pow.INSTANCE); registerFunction(SQPow.INSTANCE); } public static synchronized FunctionFactory getInstance() { if (instance == null) { instance = new FunctionFactory(); } return instance; } public Function getFunction(String name) { return functions.get(name); } public void registerFunction(Function function) { functions.put(function.getName(), function); } public Collection<Function> getFunctions() { return functions.values(); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :