Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/FunctionFactory.java @ 9643:58f3fe98fd6b
Fitting new Option UI
author | dnt_bjoernsen <d.tironi@bjoernsen.de> |
---|---|
date | Mon, 02 Dec 2019 14:14:06 +0100 |
parents | af13ceeba52a |
children |
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 final Map<String, Function> functions; private FunctionFactory() { this.functions = new LinkedHashMap<>(); registerFunction(Log.INSTANCE); registerFunction(Linear.INSTANCE); registerFunction(LogLinear.INSTANCE); registerFunction(LogLinearAlternative.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(final String name) { return this.functions.get(name); } public void registerFunction(final Function function) { this.functions.put(function.getName(), function); } public Collection<Function> getFunctions() { return this.functions.values(); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :