Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/AnalysisPeriodEventResults.java @ 9627:f51e23eb036a
zu pos 20
author | dnt_bjoernsen <d.tironi@bjoernsen.de> |
---|---|
date | Mon, 14 Oct 2019 16:27:31 +0200 |
parents | 9744ce3c3853 |
children |
line wrap: on
line source
/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde * Software engineering by * Björnsen Beratende Ingenieure GmbH * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt * * 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.fixings; import java.io.Serializable; import java.util.Collection; import java.util.HashMap; import java.util.Map; /** * Event data of analysis events sorted by period, event, station and qwd * * @author Gernot Belger * */ public class AnalysisPeriodEventResults implements Serializable { private static final long serialVersionUID = 1L; /* Period-Index -> results */ private final Map<Integer, FixResultColumns> resultData = new HashMap<>(); public AnalysisPeriodEventResults() { } public Collection<FixResultColumns> getEventResults() { return this.resultData.values(); } public FixResultColumns getEventResults(final int periodIndex) { return this.resultData.get(periodIndex); } public void addQWD(final int periodIndex, final double km, final FixingColumnWithData event, final QWD qwd) { final FixResultColumns columns = getOrCreatePeriodResult(periodIndex); columns.addQWD(event, km, qwd); } public void sortAll() { for (final FixResultColumns columns : this.resultData.values()) columns.sortAll(); } private FixResultColumns getOrCreatePeriodResult(final int periodIndex) { final FixResultColumns existingColumns = this.resultData.get(periodIndex); if (existingColumns != null) return existingColumns; final FixResultColumns newColumns = new FixResultColumns(); this.resultData.put(periodIndex, newColumns); return newColumns; } }