source: trunk/src_apollo/org/apollo/util/NullableLong.java@ 315

Last change on this file since 315 was 315, checked in by bjn8, 16 years ago

Apollo spin-off added

File size: 1.1 KB
Line 
1package org.apollo.util;
2
3/**
4 * java.lang.Long does not allow:
5 * Long test = null;
6 *
7 * This provides a simple nullable long value.
8 *
9 * @author Brook Novak
10 *
11 */
12public class NullableLong implements Comparable<NullableLong> {
13
14 private long longValue;
15
16 public NullableLong(long value) {
17 this.longValue = value;
18 }
19
20 private NullableLong(Long value) {
21 if (value == null) throw new NullPointerException();
22 this.longValue = value.longValue();
23 }
24
25 public static NullableLong fromLong(Long value) {
26 if (value == null) return null;
27 return new NullableLong(value);
28 }
29
30 public int compareTo(NullableLong o) {
31 return new Long(longValue).compareTo(new Long(o.longValue));
32 }
33
34 @Override
35 public boolean equals(Object obj) {
36 if (obj == null) return false;
37
38 if (obj instanceof NullableLong) {
39 return longValue == ((NullableLong)obj).longValue;
40 }
41
42 return false;
43 }
44
45 @Override
46 public int hashCode() {
47 return new Long(longValue).intValue();
48 }
49
50 @Override
51 public String toString() {
52 return Long.toString(longValue);
53 }
54
55 public long getLongValue() {
56 return longValue;
57 }
58
59}
Note: See TracBrowser for help on using the repository browser.