comparison artifacts/src/main/java/org/dive4elements/river/artifacts/common/AbstractCalculationResults.java @ 8999:e3b3ce32c825

Work on uinfo
author gernotbelger
date Thu, 12 Apr 2018 19:15:42 +0200
parents
children
comparison
equal deleted inserted replaced
8998:c38098b15427 8999:e3b3ce32c825
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
2 * Software engineering by
3 * Björnsen Beratende Ingenieure GmbH
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
5 *
6 * This file is Free Software under the GNU AGPL (>=v3)
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
8 * documentation coming with Dive4Elements River for details.
9 */
10 package org.dive4elements.river.artifacts.common;
11
12 import java.io.Serializable;
13 import java.util.ArrayList;
14 import java.util.Collections;
15 import java.util.List;
16
17 import org.apache.commons.lang.math.DoubleRange;
18 import org.dive4elements.river.artifacts.model.Calculation;
19 import org.dive4elements.river.artifacts.sinfo.util.RiverInfo;
20
21 /**
22 * @author Gernot Belger
23 */
24 public abstract class AbstractCalculationResults<RESULT extends AbstractCalculationResult> implements Serializable {
25
26 private static final long serialVersionUID = 1L;
27
28 private final List<RESULT> results = new ArrayList<>();
29
30 private final String calcModeLabel;
31
32 private final String user;
33
34 private final RiverInfo river;
35
36 private final DoubleRange calcRange;
37
38 public AbstractCalculationResults(final String calcModeLabel, final String user, final RiverInfo river, final DoubleRange calcRange) {
39 this.calcModeLabel = calcModeLabel;
40 this.user = user;
41 this.river = river;
42 this.calcRange = calcRange;
43 }
44
45 public String getCalcModeLabel() {
46 return this.calcModeLabel;
47 }
48
49 public String getUser() {
50 return this.user;
51 }
52
53 public RiverInfo getRiver() {
54 return this.river;
55 }
56
57 public DoubleRange getCalcRange() {
58 return this.calcRange;
59 }
60
61 public void addResult(final RESULT result, final Calculation problems) {
62 /* we assume error reporting was already done in this case */
63 if (result == null)
64 return;
65
66 if (result.isEmpty()) {
67 problems.addProblem("abstractsinfocalculationresults.emptyResult", result.getLabel());
68 return;
69 }
70
71 this.results.add(result);
72 }
73
74 public List<RESULT> getResults() {
75 return Collections.unmodifiableList(this.results);
76 }
77 }

http://dive4elements.wald.intevation.org