diff artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadLSData.java @ 8024:963ede7b32bb

Renamed SedimentLoad to SedimentLoadLSData to make place for SedimentLoad in backend.
author Sascha L. Teichmann <teichmann@intevation.de>
date Wed, 09 Jul 2014 17:33:57 +0200
parents
children a1ceacf15d3a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadLSData.java	Wed Jul 09 17:33:57 2014 +0200
@@ -0,0 +1,264 @@
+/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
+ * Software engineering by Intevation GmbH
+ *
+ * This file is Free Software under the GNU AGPL (>=v3)
+ * and comes with ABSOLUTELY NO WARRANTY! Check out the
+ * documentation coming with Dive4Elements River for details.
+ */
+
+package org.dive4elements.river.artifacts.model.minfo;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+
+import org.dive4elements.river.artifacts.model.NamedObjectImpl;
+import org.dive4elements.river.artifacts.model.Range;
+import org.dive4elements.river.utils.EpsilonComparator;
+
+import org.apache.log4j.Logger;
+
+
+/** Gives access to Fractions (at kms). */
+public class SedimentLoadLSData
+extends NamedObjectImpl
+{
+    /** Private logger. */
+    private static final Logger logger = Logger
+        .getLogger(SedimentLoadLSData.class);
+
+    protected String description;
+    protected Date start;
+    protected Date end;
+    protected boolean isEpoch;
+    protected String unit;
+
+    protected Map<Double, SedimentLoadFraction> kms;
+
+    public SedimentLoadLSData() {
+        kms = new TreeMap<Double, SedimentLoadFraction>(EpsilonComparator.CMP);
+    }
+
+    public SedimentLoadLSData(
+        String description,
+        Date start,
+        Date end,
+        boolean isEpoch,
+        String unit
+    ) {
+        this();
+        this.description = description;
+        this.start = start;
+        this.end = end;
+        this.isEpoch = isEpoch;
+        this.unit = unit;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public Date getStart() {
+        return start;
+    }
+
+    public void setStart(Date start) {
+        this.start = start;
+    }
+
+    public Date getEnd() {
+        return end;
+    }
+
+    public void setEnd(Date end) {
+        this.end = end;
+    }
+
+    public boolean isEpoch() {
+        return isEpoch;
+    }
+
+    public void setEpoch(boolean isEpoch) {
+        this.isEpoch = isEpoch;
+    }
+
+    public Set<Double> getKms() {
+        return kms.keySet();
+    }
+
+    public void addKm(double km, SedimentLoadFraction fraction) {
+        kms.put(km, fraction);
+    }
+
+    public SedimentLoadFraction getFraction(double km) {
+        SedimentLoadFraction f = kms.get(km);
+        if (f == null) {
+            f = new SedimentLoadFraction();
+            kms.put(km, f);
+        }
+        return f;
+    }
+
+    public void setCoarse(double km, double coarse, Range range) {
+        if (range == null) {
+            logger.error("coarse/range is null!");
+            return;
+        }
+        SedimentLoadFraction f = getFraction(km);
+        f.setCoarse(coarse);
+        f.setCoarseRange(range);
+    }
+
+    public void setFineMiddle(double km, double fine_middle, Range range) {
+        if (range == null) {
+            logger.error("finemiddle/range is null!");
+            return;
+        }
+        SedimentLoadFraction f = getFraction(km);
+        f.setFineMiddle(fine_middle);
+        f.setFineMiddleRange(range);
+    }
+
+
+    public void setSand(double km, double sand, Range range) {
+        if (range == null) {
+            logger.error("sand/range is null!");
+            return;
+        }
+        SedimentLoadFraction f = getFraction(km);
+        f.setSand(sand);
+        f.setSandRange(range);
+    }
+
+    public void setSuspSand(double km, double susp_sand, Range range) {
+        if (range == null) {
+            logger.error("suspsand/range is null!");
+            return;
+        }
+        SedimentLoadFraction f = getFraction(km);
+        f.setSuspSand(susp_sand);
+        f.setSuspSandRange(range);
+    }
+
+    public void setSuspSandBed(double km, double susp_sand_bed, Range range) {
+        if (range == null) {
+            logger.error("suspsandbed/range is null!");
+            return;
+        }
+        SedimentLoadFraction f = getFraction(km);
+        f.setSuspSandBed(susp_sand_bed);
+        f.setSuspSandBedRange(range);
+    }
+
+    public void setSuspSediment(double km, double susp_sediment, Range range) {
+        if (range == null) {
+            logger.error("suspsed/range is null!");
+            return;
+        }
+        SedimentLoadFraction f = getFraction(km);
+        f.setSuspSediment(susp_sediment);
+        f.setSuspSedimentRange(range);
+    }
+
+    public void setLoadTotal(double km, double total) {
+        setLoadTotal(km, total, null);
+    }
+
+    public void setLoadTotal(double km, double total, Range range) {
+        if (range == null) {
+            logger.error("loadtotal/range is null!");
+            return;
+        }
+        SedimentLoadFraction f = getFraction(km);
+        f.setLoadTotal(total);
+        f.setLoadTotalRange(range);
+    }
+
+    public void setTotal(double km, double total, Range range) {
+        if (range == null) {
+            logger.error("total/range is null!");
+            return;
+        }
+        SedimentLoadFraction f = getFraction(km);
+        f.setTotal(total);
+        f.setTotalRange(range);
+    }
+
+    public void setUnknown(double km, double unknown, Range range) {
+        if (range == null) {
+            logger.error("unknown/range is null!");
+            return;
+        }
+        SedimentLoadFraction f = getFraction(km);
+        f.setUnknown(unknown);
+        f.setUnknownRange(range);
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+    public boolean hasCoarse() {
+        for (SedimentLoadFraction slf : kms.values()) {
+            if (slf.getCoarse() > 0d) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public boolean hasFineMiddle() {
+        for (SedimentLoadFraction slf : kms.values()) {
+            if (slf.getFineMiddle() > 0d) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public boolean hasSand() {
+        for (SedimentLoadFraction slf : kms.values()) {
+            if (slf.getSand() > 0d) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public boolean hasSuspSand() {
+        for (SedimentLoadFraction slf : kms.values()) {
+            if (slf.getSuspSand() > 0d) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public boolean hasSuspSediment() {
+        for (SedimentLoadFraction slf : kms.values()) {
+            if (slf.getSuspSediment() > 0d) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public boolean hasTotalLoad() {
+        for (SedimentLoadFraction slf : kms.values()) {
+            if (slf.getLoadTotal() > 0d) {
+                return true;
+            }
+        }
+        return false;
+    }
+}
+// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org