comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/math/fitting/FunctionFactory.java @ 2569:0dd58ab7e118

Added functions to be used for fitting in the "Fixierungsanalyse" and "Extremwertermittlung". flys-artifacts/trunk@4095 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 27 Feb 2012 14:16:30 +0000
parents
children c0abfb695332
comparison
equal deleted inserted replaced
2568:53e8bffbe06c 2569:0dd58ab7e118
1 package de.intevation.flys.artifacts.math.fitting;
2
3 import java.util.Collection;
4 import java.util.LinkedHashMap;
5 import java.util.Map;
6
7 public final class FunctionFactory
8 {
9 private static FunctionFactory instance;
10
11 private Map<String, Function> functions;
12
13 private FunctionFactory() {
14 functions = new LinkedHashMap<String, Function>();
15
16 registerFunction(new Log());
17 registerFunction(new Linear());
18 registerFunction(new LogLinear());
19 registerFunction(new Exp());
20 registerFunction(new Quad());
21 registerFunction(new Pow());
22 }
23
24 public static synchronized FunctionFactory getInstance() {
25 if (instance == null) {
26 instance = new FunctionFactory();
27 }
28 return instance;
29 }
30
31 public Function getFunction(String name) {
32 return functions.get(name);
33 }
34
35 public void registerFunction(Function function) {
36 functions.put(function.getName(), function);
37 }
38
39 public Collection<Function> getFunctions() {
40 return functions.values();
41 }
42 }
43 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org