Mercurial > dive4elements > river
view 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 source
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; } }