teichmann@5863: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde teichmann@5863: * Software engineering by Intevation GmbH teichmann@5863: * teichmann@5994: * This file is Free Software under the GNU AGPL (>=v3) teichmann@5863: * and comes with ABSOLUTELY NO WARRANTY! Check out the teichmann@5994: * documentation coming with Dive4Elements River for details. teichmann@5863: */ teichmann@5863: teichmann@5831: package org.dive4elements.river.artifacts.model.map; rrenkert@5307: rrenkert@5307: import java.util.ArrayList; rrenkert@5307: import java.util.List; rrenkert@5307: tom@9726: import org.apache.logging.log4j.Logger; tom@9726: import org.apache.logging.log4j.LogManager; rrenkert@5307: rrenkert@5307: public class HWSContainer rrenkert@5307: { tom@9726: private static Logger log = LogManager.getLogger(HWSContainer.class); rrenkert@5307: private String river; rrenkert@5307: private HWS.TYPE type; rrenkert@5307: private List hws; rrenkert@5307: rrenkert@5307: public HWSContainer() { rrenkert@5307: river = null; rrenkert@5307: hws = new ArrayList(); rrenkert@5307: } rrenkert@5307: rrenkert@5307: public HWSContainer(String river, HWS.TYPE type, List hws) { rrenkert@5307: this.river = river; rrenkert@5307: this.hws = hws; rrenkert@5307: this.type = type; rrenkert@5307: } rrenkert@5307: rrenkert@5307: public void setRiver(String river) { rrenkert@5307: this.river = river; rrenkert@5307: } rrenkert@5307: rrenkert@5307: public String getRiver() { rrenkert@5307: return this.river; rrenkert@5307: } rrenkert@5307: rrenkert@5307: public HWS.TYPE getType() { rrenkert@5307: return type; rrenkert@5307: } rrenkert@5307: rrenkert@5307: public void setType(HWS.TYPE type) { rrenkert@5307: this.type = type; rrenkert@5307: } rrenkert@5307: rrenkert@5307: public List getHws() { rrenkert@5307: return hws; rrenkert@5307: } rrenkert@5307: rrenkert@5307: public void addHws(HWS hws) { teichmann@8202: log.debug("add hws: " + hws.getName()); rrenkert@5307: this.hws.add(hws); rrenkert@5307: } rrenkert@5307: rrenkert@5307: public void addHws(List hws) { rrenkert@5307: this.hws.addAll(hws); rrenkert@5307: } rrenkert@5307: rrenkert@5307: public List getOfficialHWS() { rrenkert@5307: if (hws == null || hws.size() == 0) { rrenkert@5307: return new ArrayList(); rrenkert@5307: } rrenkert@5307: List results = new ArrayList(); rrenkert@5307: for (HWS h: hws) { rrenkert@5307: if (h.isOfficial()) { rrenkert@5307: results.add(h); rrenkert@5307: } rrenkert@5307: } rrenkert@5307: return results; rrenkert@5307: } rrenkert@5307: rrenkert@5307: public List getHws(String name) { teichmann@8202: log.debug("find: " + name + " in " + hws.size() + " elements"); rrenkert@5307: if (hws == null || hws.size() == 0) { rrenkert@5307: return new ArrayList(); rrenkert@5307: } rrenkert@5307: List results = new ArrayList(); rrenkert@5307: for (HWS h: hws) { rrenkert@5307: if (h.getName().equals(name)) { rrenkert@5307: results.add(h); rrenkert@5307: } rrenkert@5307: } teichmann@8202: log.debug("found: " + results.size()); rrenkert@5307: return results; rrenkert@5307: } rrenkert@5307: rrenkert@5307: public List getHws(List list) { rrenkert@5307: if (hws == null || hws.size() == 0) { rrenkert@5307: return new ArrayList(); rrenkert@5307: } rrenkert@5307: List results = new ArrayList(); rrenkert@5307: for (String name : list) { rrenkert@5307: results.addAll(getHws(name)); rrenkert@5307: } rrenkert@5307: return results; rrenkert@5307: } rrenkert@5307: }