]> gitweb.fperrin.net Git - GpsPrune.git/blob - tim/prune/data/IntegerRange.java
Version 19, May 2018
[GpsPrune.git] / tim / prune / data / IntegerRange.java
1 package tim.prune.data;
2
3 /**
4  * Represents a range of integers, holding the maximum and
5  * minimum values.
6  */
7 public class IntegerRange
8 {
9         private int _min = -1, _max = -1;
10         private boolean _foundValues = false;
11
12
13         /**
14          * Clear for a new range calculation
15          */
16         public void clear()
17         {
18                 _min = -1;
19                 _max = -1;
20                 _foundValues = false;
21         }
22
23
24         /**
25          * Add a value to the range
26          * @param inValue value to add
27          */
28         public void addValue(int inValue)
29         {
30                 if (inValue < _min || !_foundValues) {
31                         _min = inValue;
32                 }
33                 if (inValue > _max || !_foundValues) {
34                         _max = inValue;
35                 }
36                 _foundValues = true;
37         }
38
39         /**
40          * @return true if any values added to the range
41          */
42         public boolean hasValues() {
43                 return _foundValues;
44         }
45
46         /**
47          * @return minimum value, or -1 if none found
48          */
49         public int getMinimum()
50         {
51                 return _min;
52         }
53
54
55         /**
56          * @return maximum value, or -1 if none found
57          */
58         public int getMaximum()
59         {
60                 return _max;
61         }
62 }