Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/FunctionFactory.java @ 5831:bd047b71ab37
Repaired internal references
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 12:06:39 +0200 |
parents | flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/FunctionFactory.java@59b14bc676ec |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/src/main/java/org/dive4elements/river/artifacts/math/fitting/FunctionFactory.java Thu Apr 25 12:06:39 2013 +0200 @@ -0,0 +1,44 @@ +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 :