view 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
line wrap: on
line source
package de.intevation.flys.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(new Log());
        registerFunction(new Linear());
        registerFunction(new LogLinear());
        registerFunction(new Exp());
        registerFunction(new Quad());
        registerFunction(new Pow());
    }

    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 :

http://dive4elements.wald.intevation.org