Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/jfree/TimeBounds.java @ 4902:e1566938d04c
Added new functions to datacage templating language.
* get minimum of location/distance:
dc:fromValue($ld_mode, $ld_locations, $ld_from)
- returns -Double.MAX_VALUE if no min exists.
* get maximum of location/distance:
dc:toValue($ld_mode, $ld_locations, $ld_to)
- returns Double.MAX_VALUE if no max exists.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 29 Jan 2013 17:11:26 +0100 |
parents | 2f6d4f92d628 |
children |
line wrap: on
line source
package de.intevation.flys.jfree; import java.util.Date; import org.jfree.chart.axis.DateAxis; import org.jfree.chart.axis.ValueAxis; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class TimeBounds implements Bounds { protected long lower; protected long upper; public TimeBounds(long lower, long upper) { this.lower = lower; this.upper = upper; } @Override public Number getLower() { return Long.valueOf(lower); } public Date getLowerAsDate() { return new Date(lower); } @Override public Number getUpper() { return Long.valueOf(upper); } public Date getUpperAsDate() { return new Date(upper); } @Override public void applyBounds(ValueAxis axis) { DateAxis dateAxis = (DateAxis) axis; dateAxis.setMinimumDate(new Date(lower)); dateAxis.setMaximumDate(new Date(upper)); } @Override public void applyBounds(ValueAxis axis, int percent) { DateAxis dateAxis = (DateAxis) axis; long space = (upper - lower) / 100 * percent; dateAxis.setMinimumDate(new Date(lower-space)); dateAxis.setMaximumDate(new Date(upper+space)); } @Override public Bounds combine(Bounds bounds) { if (bounds == null) { return this; } TimeBounds other = (TimeBounds) bounds; long otherLower = other.getLower().longValue(); long otherUpper = other.getUpper().longValue(); return new TimeBounds( otherLower < lower ? otherLower : lower, otherUpper > upper ? otherUpper : upper); } @Override public String toString() { return "TimeBounds=["+ getLowerAsDate() + " ; " + getUpperAsDate() +"]"; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :