diff artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionAccess.java @ 9155:9b4f5e61c02e

Changed to list of DateRange, added methods in DateRange to support year ranges
author mschaefer
date Tue, 19 Jun 2018 14:15:32 +0200
parents 766890addcb2
children
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionAccess.java	Thu Jun 14 17:51:30 2018 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/collision/CollisionAccess.java	Tue Jun 19 14:15:32 2018 +0200
@@ -10,8 +10,12 @@
 
 package org.dive4elements.river.artifacts.sinfo.collision;
 
+import java.util.Arrays;
+import java.util.List;
+
 import org.dive4elements.river.artifacts.access.RangeAccess;
 import org.dive4elements.river.artifacts.common.EpochYearAccessHelper;
+import org.dive4elements.river.artifacts.model.DateRange;
 import org.dive4elements.river.artifacts.sinfo.SINFOArtifact;
 import org.dive4elements.river.artifacts.sinfo.SinfoCalcMode;
 
@@ -48,8 +52,26 @@
         return this.helper.getYears("state.sinfo.year", "years");
     }
 
-    public int[][] getEpochs() {
+    public List<DateRange> getEpochs() {
         return this.helper.getEpochs("state.sinfo.epoch", "epochs");
     }
 
+    /**
+     * String expression of the years or epoches collection, resp.
+     */
+    public String getYearsHeader() {
+        if (getYears() != null) {
+            final String ys = Arrays.toString(getYears());
+            return ys.substring(1, ys.length() - 1);
+        }
+        else {
+            String ys = "";
+            String sep = "";
+            for (final DateRange dr : getEpochs()) {
+                ys += String.format("%s%d-%d", sep, dr.getFromYear(), dr.getToYear());
+                sep = ", ";
+            }
+            return ys;
+        }
+    }
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org