Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WQTimerange.java @ 4890:bf38ea4cb0f7
Added bodies to macros. Use the bodies of <dc:call-macro><body></dc:call-macro> as <dc:macro-body/> in tthe macro. Example:
<dc:macro name="greet"><hello><dc:macro-body/></hello></dc:macro>
<dc:call-macro name="greet"><planet>Earth</planet></dc:call-macro>
Result:
<hello><panet>Earth</planet></hello>
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Mon, 28 Jan 2013 18:55:55 +0100 |
parents | 1d8faeedda0c |
children | 05eeedc5b156 |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class WQTimerange extends WQ { public static class TimerangeItem implements Comparable<TimerangeItem> { public double q; public double w; public Timerange timerange; public TimerangeItem (Timerange timerange, double q, double w) { this.timerange = timerange; this.q = q; this.w = w; } public double[] get(double[] wq) { if (wq.length >= 2) { wq[0] = w; wq[1] = q; } return wq; } @Override public int compareTo(TimerangeItem other) { if (other.timerange.getStart() < timerange.getStart()) { return 1; } else if (other.timerange.getStart() > timerange.getStart()) { return -1; } else if (other.timerange.getEnd() < timerange.getEnd()) { return 1; } else if (other.timerange.getEnd() > timerange.getEnd()){ return -1; } else { return 0; } } } protected List<Timerange> ts; public WQTimerange() { super(""); } public WQTimerange(String name) { super(name); ts = new ArrayList<Timerange>(); } public void add(double w, double q, Timerange t) { ws.add(w); qs.add(q); ts.add(t); } public Timerange getTimerange(int idx) { return ts.get(idx); } public Timerange[] getTimeranges() { return ts.toArray(new Timerange[ts.size()]); } public List<TimerangeItem> sort() { ArrayList<TimerangeItem> items = new ArrayList<TimerangeItem>(ts.size()); for (int i = 0, n = size(); i < n; i++) { items.add(new TimerangeItem(getTimerange(i), getQ(i), getW(i))); } Collections.sort(items); return items; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :