Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoad.java @ 6872:c5ce9812388b
FixA overview: Fetch dates in higher resolution from database.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Mon, 19 Aug 2013 22:04:03 +0200 |
parents | 9a0f8d532797 |
children | e6a8255d0764 |
line wrap: on
line source
/* 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.HashMap; import java.util.Set; import org.dive4elements.river.artifacts.model.NamedObjectImpl; import org.dive4elements.river.artifacts.model.Range; /** Gives access to Fractions (at kms). */ public class SedimentLoad extends NamedObjectImpl { protected String description; protected Date start; protected Date end; protected boolean isEpoch; protected String unit; protected HashMap<Double, SedimentLoadFraction> kms; public SedimentLoad() { kms = new HashMap<Double, SedimentLoadFraction>(); } public SedimentLoad( 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) { if (kms.get(km) == null) { return new SedimentLoadFraction(); } return kms.get(km); } public void setCoarse(double km, double coarse, Range range) { if (kms.containsKey(km)) { kms.get(km).setCoarse(coarse); } else { SedimentLoadFraction f = new SedimentLoadFraction(); f.setCoarse(coarse); f.setCoarseRange(range); kms.put(km, f); } } public void setFineMiddle(double km, double fine_middle, Range range) { if (kms.containsKey(km)) { kms.get(km).setFineMiddle(fine_middle); kms.get(km).setFineMiddleRange(range); } else { SedimentLoadFraction f = new SedimentLoadFraction(); f.setFineMiddle(fine_middle); f.setFineMiddleRange(range); kms.put(km, f); } } public void setSand(double km, double sand, Range range) { if (kms.containsKey(km)) { kms.get(km).setSand(sand); kms.get(km).setSandRange(range); } else { SedimentLoadFraction f = new SedimentLoadFraction(); f.setSand(sand); f.setSandRange(range); kms.put(km, f); } } public void setSuspSand(double km, double susp_sand, Range range) { if (kms.containsKey(km)) { kms.get(km).setSuspSand(susp_sand); kms.get(km).setSuspSandRange(range); } else { SedimentLoadFraction f = new SedimentLoadFraction(); f.setSuspSand(susp_sand); f.setSuspSandRange(range); kms.put(km, f); } } public void setSuspSandBed(double km, double susp_sand_bed, Range range) { if (kms.containsKey(km)) { kms.get(km).setSuspSandBed(susp_sand_bed); kms.get(km).setSuspSandBedRange(range); } else { SedimentLoadFraction f = new SedimentLoadFraction(); f.setSuspSandBed(susp_sand_bed); f.setSuspSandBedRange(range); kms.put(km, f); } } public void setSuspSediment(double km, double susp_sediment, Range range) { if (kms.containsKey(km)) { kms.get(km).setSuspSediment(susp_sediment); kms.get(km).setSuspSedimentRange(range); } else { SedimentLoadFraction f = new SedimentLoadFraction(); f.setSuspSediment(susp_sediment); f.setSuspSedimentRange(range); kms.put(km, f); } } public void setLoadTotal(double km, double total) { if (kms.containsKey(km)) { kms.get(km).setLoadTotal(total); } else { SedimentLoadFraction f = new SedimentLoadFraction(); f.setLoadTotal(total); kms.put(km, f); } } public void setTotal(double km, double total, Range range) { if (kms.containsKey(km)) { kms.get(km).setTotal(total); kms.get(km).setTotalRange(range); } else { SedimentLoadFraction f = new SedimentLoadFraction(); f.setTotal(total); f.setTotalRange(range); kms.put(km, f); } } public void setUnknown(double km, double unknown, Range range) { if (kms.containsKey(km)) { kms.get(km).setUnknown(unknown); kms.get(km).setUnknownRange(range); } else { SedimentLoadFraction f = new SedimentLoadFraction(); f.setUnknown(unknown); f.setUnknownRange(range); kms.put(km, f); } } 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 :