gernotbelger@8999: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@8999: * Software engineering by gernotbelger@8999: * Björnsen Beratende Ingenieure GmbH gernotbelger@8999: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@8999: * gernotbelger@8999: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@8999: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@8999: * documentation coming with Dive4Elements River for details. gernotbelger@8999: */ gernotbelger@8999: package org.dive4elements.river.artifacts.common; gernotbelger@8999: gernotbelger@8999: import java.io.Serializable; gernotbelger@8999: import java.util.HashMap; gernotbelger@8999: import java.util.Map; gernotbelger@8999: gernotbelger@8999: import org.dive4elements.artifacts.CallContext; gernotbelger@8999: import org.dive4elements.river.artifacts.common.IResultType; gernotbelger@8999: gernotbelger@8999: /** gernotbelger@8999: * Generic container for results that come in rows. gernotbelger@8999: * gernotbelger@8999: * @author Gernot Belger gernotbelger@8999: */ gernotbelger@8999: public class ResultRow implements Serializable { gernotbelger@8999: protected static final long serialVersionUID = 1L; //TODO: Make private (wenn SInfoResultRow gelöscht ist gernotbelger@8999: gernotbelger@8999: private final Map values = new HashMap(); gernotbelger@8999: gernotbelger@8999: public static ResultRow create() { gernotbelger@8999: return new ResultRow(); gernotbelger@8999: } gernotbelger@8999: gernotbelger@8999: protected ResultRow() { gernotbelger@8999: } gernotbelger@8999: gernotbelger@8999: public ResultRow putValue(final IResultType type, final Object value) { gernotbelger@8999: gernotbelger@8999: this.values.put(type, value); gernotbelger@8999: gernotbelger@8999: /* chain me */ gernotbelger@8999: return this; gernotbelger@8999: } gernotbelger@8999: gernotbelger@8999: public String exportValue(final CallContext context, final IResultType type) { gernotbelger@8999: final Object value = this.values.get(type); gernotbelger@8999: return type.exportValue(context, value); gernotbelger@8999: } gernotbelger@8999: gernotbelger@8999: public double getDoubleValue(final IResultType type) { gernotbelger@8999: final Object value = this.values.get(type); gernotbelger@8999: return type.asDouble(value); gernotbelger@8999: } gernotbelger@8999: gernotbelger@8999: public Object getValue(final IResultType type) { gernotbelger@8999: return this.values.get(type); gernotbelger@8999: } gernotbelger@8999: }