Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation.java @ 708:757ff56b43b3
Added calculation "am Pegel" version to the "Wasserspiegellage" calculation.
flys-artifacts/trunk@2161 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sat, 18 Jun 2011 20:20:34 +0000 |
parents | eab5e5089d77 |
children | 3b7e9ddf6bb1 |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import org.w3c.dom.Document; import org.w3c.dom.Element; import java.util.List; import java.util.ArrayList; import java.io.Serializable; public class Calculation implements Serializable { public static class Problem implements Serializable { protected Double km; protected String msg; public Problem() { } public Problem(String msg) { this.msg = msg; } public Problem(double km, String msg) { this.km = km; this.msg = msg; } public Element toXML(Document document) { Element problem = document.createElement("problem"); if (km != null) { problem.setAttribute("km", String.valueOf(km)); } problem.setTextContent(msg); return problem; } } // class Problem protected List<Problem> problems; public Calculation() { } protected List<Problem> checkProblems() { if (problems == null) { problems = new ArrayList<Problem>(); } return problems; } public void addProblem(String msg) { checkProblems().add(new Problem(msg)); } public void addProblem(double km, String msg) { checkProblems().add(new Problem(km, msg)); } public boolean hasProblems() { return problems != null && !problems.isEmpty(); } public int numProblems() { return problems != null ? problems.size() : 0; } public List<Problem> getProblems() { return problems; } public void toXML(Document document) { Element root = document.createElement("problems"); if (hasProblems()) { for (Problem problem: problems) { root.appendChild(problem.toXML(document)); } } document.appendChild(root); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :