comparison backend/src/main/java/org/dive4elements/river/importer/ImportRange.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-backend/src/main/java/org/dive4elements/river/importer/ImportRange.java@18619c1e7c2a
children 4dd33b86dc61
comparison
equal deleted inserted replaced
5837:d9901a08d0a6 5838:5aa05a7a34b7
1 package org.dive4elements.river.importer;
2
3 import org.dive4elements.river.model.Range;
4 import org.dive4elements.river.model.River;
5
6 import java.math.BigDecimal;
7
8 import org.apache.log4j.Logger;
9
10 /** A range that is about to be imported. */
11 public class ImportRange
12 implements Comparable<ImportRange>
13 {
14 /** Private logger. */
15 private static Logger log = Logger.getLogger(ImportRange.class);
16
17 protected BigDecimal a;
18 protected BigDecimal b;
19
20 protected Range peer;
21
22 public ImportRange() {
23 }
24
25 public ImportRange(BigDecimal a, BigDecimal b) {
26 this.a = a;
27 this.b = b;
28 }
29
30 private static final int compare(BigDecimal a, BigDecimal b) {
31 if (a == null && b == null) {
32 return 0;
33 }
34 if (a == null && b != null) {
35 return -1;
36 }
37 if (a != null && b == null) {
38 return +1;
39 }
40 return a.compareTo(b);
41 }
42
43 public void fixRangesOrder() {
44 if (compare(a, b) > 0) {
45 BigDecimal t = a; a = b; b = t;
46 }
47 }
48
49 public int compareTo(ImportRange other) {
50 int cmp = compare(a, other.a);
51 if (cmp != 0) return cmp;
52 return compare(b, other.b);
53 }
54
55 public BigDecimal getA() {
56 return a;
57 }
58
59 public void setA(BigDecimal a) {
60 this.a = a;
61 }
62
63 public BigDecimal getB() {
64 return b;
65 }
66
67 public void setB(BigDecimal b) {
68 this.b = b;
69 }
70
71 public Range getPeer(River river) {
72 if (peer == null) {
73 peer = ImporterSession.getInstance().getRange(river, a, b);
74 }
75 return peer;
76 }
77 }
78 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org