teichmann@8062: /* Copyright (C) 2016 by Bundesanstalt für Gewässerkunde teichmann@8062: * Software engineering by Intevation GmbH teichmann@8062: * teichmann@8062: * This file is Free Software under the GNU AGPL (>=v3) teichmann@8062: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@8062: * documentation coming with Dive4Elements River for details. teichmann@8062: */ teichmann@8062: package org.dive4elements.river.artifacts.model.minfo; teichmann@8062: teichmann@8062: import java.io.Serializable; teichmann@8062: import java.util.ArrayList; teichmann@8062: import java.util.List; teichmann@8062: teichmann@8062: public class SedimentLoadDataResult teichmann@8062: implements Serializable teichmann@8062: { teichmann@8062: teichmann@8062: public static class Fraction implements Serializable { teichmann@8062: private String name; andre@8131: /* Period is the validity of the result. It is either a single andre@8131: * year or a range of years (epoch). As this is only used for andre@8131: * presentation purposes the type is a string so that years andre@8131: * and epochs need not be handled differently.*/ andre@8131: private String period; teichmann@8062: private double [][] data; teichmann@8062: teichmann@8062: public Fraction() { teichmann@8062: } teichmann@8062: andre@8131: public Fraction(String name, double [][] data, String period) { teichmann@8062: this.name = name; teichmann@8062: this.data = data; andre@8131: this.period = period; teichmann@8062: } teichmann@8062: teichmann@8062: public String getName() { teichmann@8062: return name; teichmann@8062: } teichmann@8062: teichmann@8062: public void setName(String name) { teichmann@8062: this.name = name; teichmann@8062: } teichmann@8062: teichmann@8062: public double [][] getData() { teichmann@8062: return data; teichmann@8062: } teichmann@8062: teichmann@8062: public void setData(double [][] data) { teichmann@8062: this.data = data; teichmann@8062: } teichmann@8062: andre@8131: public void setPeriod(String period) { andre@8131: this.period = period; andre@8125: } andre@8125: andre@8131: public String getPeriod() { andre@8131: return period; andre@8125: } andre@8125: teichmann@8062: } // class Fraction teichmann@8062: teichmann@8062: private List fractions; teichmann@8062: teichmann@8062: public SedimentLoadDataResult() { teichmann@8062: fractions = new ArrayList(); teichmann@8062: } teichmann@8062: teichmann@8062: public void addFraction(Fraction fraction) { teichmann@8062: fractions.add(fraction); teichmann@8062: } teichmann@8062: teichmann@8062: public List getFractions() { teichmann@8062: return fractions; teichmann@8062: } teichmann@8062: andre@8132: public List getFractionsByName(String name) { andre@8132: List result = new ArrayList(); teichmann@8062: for (Fraction fraction: fractions) { teichmann@8062: if (fraction.getName().equals(name)) { andre@8132: result.add(fraction); teichmann@8062: } teichmann@8062: } andre@8132: return result.isEmpty() ? null : result; teichmann@8062: } tom@8146: tom@8146: public List getFractionsByNameAndPeriod( tom@8146: String name, tom@8146: String period tom@8146: ) { tom@8146: List result = new ArrayList(); tom@8146: for (Fraction fraction: fractions) { tom@8146: if (fraction.getName().equals(name) && tom@8146: fraction.getPeriod().equals(period)) { tom@8146: result.add(fraction); tom@8146: } tom@8146: } tom@8146: return result.isEmpty() ? null : result; tom@8146: } teichmann@8062: } teichmann@8062: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :