Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/HWSContainer.java @ 5307:6131b352e5e4
Data structure and factory for hws.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 14 Mar 2013 17:13:49 +0100 |
parents | |
children | a1cb9a734cc5 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/map/HWSContainer.java Thu Mar 14 17:13:49 2013 +0100 @@ -0,0 +1,95 @@ +package de.intevation.flys.artifacts.model.map; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.Logger; +import org.hibernate.mapping.Array; + + +public class HWSContainer +{ + private static Logger logger = Logger.getLogger(HWSContainer.class); + private String river; + private HWS.TYPE type; + private List<HWS> hws; + + public HWSContainer() { + river = null; + hws = new ArrayList<HWS>(); + } + + public HWSContainer(String river, HWS.TYPE type, List<HWS> hws) { + this.river = river; + this.hws = hws; + this.type = type; + } + + public void setRiver(String river) { + this.river = river; + } + + public String getRiver() { + return this.river; + } + + public HWS.TYPE getType() { + return type; + } + + public void setType(HWS.TYPE type) { + this.type = type; + } + + public List<HWS> getHws() { + return hws; + } + + public void addHws(HWS hws) { + logger.debug("add hws: " + hws.getName()); + this.hws.add(hws); + } + + public void addHws(List<HWS> hws) { + this.hws.addAll(hws); + } + + public List<HWS> getOfficialHWS() { + if (hws == null || hws.size() == 0) { + return new ArrayList<HWS>(); + } + List<HWS> results = new ArrayList<HWS>(); + for (HWS h: hws) { + if (h.isOfficial()) { + results.add(h); + } + } + return results; + } + + public List<HWS> getHws(String name) { + logger.debug("find: " + name + " in " + hws.size() + " elements"); + if (hws == null || hws.size() == 0) { + return new ArrayList<HWS>(); + } + List<HWS> results = new ArrayList<HWS>(); + for (HWS h: hws) { + if (h.getName().equals(name)) { + results.add(h); + } + } + logger.debug("found: " + results.size()); + return results; + } + + public List<HWS> getHws(List<String> list) { + if (hws == null || hws.size() == 0) { + return new ArrayList<HWS>(); + } + List<HWS> results = new ArrayList<HWS>(); + for (String name : list) { + results.addAll(getHws(name)); + } + return results; + } +}