Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataValueFilter.java @ 8055:cd35b76f1ef8
Sediment load. More off year based calculations.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Fri, 18 Jul 2014 13:03:28 +0200 |
parents | 72760ca2fc2b |
children | 25feef564d09 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataValueFilter.java Fri Jul 18 12:22:51 2014 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataValueFilter.java Fri Jul 18 13:03:28 2014 +0200 @@ -20,6 +20,20 @@ private SedimentLoadDataValueFilter() { } + public static final class Not implements Filter { + + private Filter parent; + + public Not(Filter parent) { + this.parent = parent; + } + + @Override + public boolean accept(Value value) { + return !parent.accept(value); + } + } // class Not + public static abstract class Composite implements Filter { protected List<Filter> filters; @@ -27,8 +41,9 @@ filters = new ArrayList<Filter>(); } - public void add(Filter filter) { + public Composite add(Filter filter) { filters.add(filter); + return this; } } @@ -98,6 +113,10 @@ private Date a; private Date b; + public TimeRangeIntersects(int year) { + this(year, year); + } + public TimeRangeIntersects(int startYear, int endYear) { this(firstJan(Math.min(startYear, endYear)), lastDec(Math.max(startYear, endYear)));