Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/jfree/DoubleBounds.java @ 3786:4adc35aa655c
merged flys-artifacts/2.9.1
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:47 +0200 |
parents | 7b14d00bca8a |
children | 2f6d4f92d628 |
comparison
equal
deleted
inserted
replaced
3719:e82acd5c86f7 | 3786:4adc35aa655c |
---|---|
1 package de.intevation.flys.jfree; | |
2 | |
3 | |
4 import org.jfree.chart.axis.ValueAxis; | |
5 import org.jfree.data.Range; | |
6 | |
7 | |
8 /** | |
9 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | |
10 */ | |
11 public class DoubleBounds implements Bounds { | |
12 | |
13 protected double lower; | |
14 protected double upper; | |
15 | |
16 | |
17 /** | |
18 * Default constructor. <b>A DoubleBounds has always set lower < | |
19 * upper!</b> | |
20 */ | |
21 public DoubleBounds(double lower, double upper) { | |
22 this.lower = Math.min(lower, upper); | |
23 this.upper = Math.max(lower, upper); | |
24 } | |
25 | |
26 | |
27 @Override | |
28 public Number getLower() { | |
29 return Double.valueOf(lower); | |
30 } | |
31 | |
32 | |
33 @Override | |
34 public Number getUpper() { | |
35 return Double.valueOf(upper); | |
36 } | |
37 | |
38 | |
39 @Override | |
40 public void applyBounds(ValueAxis axis) { | |
41 axis.setRange(new Range(lower, upper)); | |
42 } | |
43 | |
44 | |
45 /** | |
46 * Set extended range to ValueAxis. | |
47 * @param percent how many percent to extend (in each direction, | |
48 * thus 10 percent on [0,100] -> [-10,110]. | |
49 */ | |
50 @Override | |
51 public void applyBounds(ValueAxis axis, int percent) { | |
52 double space = (upper - lower) / 100 * percent; | |
53 axis.setRange(new Range(lower-space, upper+space)); | |
54 } | |
55 | |
56 | |
57 @Override | |
58 public Bounds combine(Bounds bounds) { | |
59 if (bounds == null) { | |
60 return this; | |
61 } | |
62 | |
63 DoubleBounds other = (DoubleBounds) bounds; | |
64 | |
65 double otherLower = other.getLower().doubleValue(); | |
66 double otherUpper = other.getUpper().doubleValue(); | |
67 | |
68 return new DoubleBounds( | |
69 otherLower < lower ? otherLower : lower, | |
70 otherUpper > upper ? otherUpper : upper); | |
71 } | |
72 | |
73 | |
74 @Override | |
75 public String toString() { | |
76 return "DoubleBounds=[" + lower + " ; " + upper + "]"; | |
77 } | |
78 } | |
79 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |