comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/sq/SQ.java @ 8539:84929f882fa2

(issue1753) Carry measurement date through SQ values
author Andre Heinecke <andre.heinecke@intevation.de>
date Fri, 13 Feb 2015 12:34:06 +0100
parents b8f94e865875
children
comparison
equal deleted inserted replaced
8538:c25a8066d99f 8539:84929f882fa2
8 8
9 package org.dive4elements.river.artifacts.model.sq; 9 package org.dive4elements.river.artifacts.model.sq;
10 10
11 import java.io.Serializable; 11 import java.io.Serializable;
12 12
13 import java.util.Date;
14
13 15
14 /** Represents S/Q pairs. They are immutable! */ 16 /** Represents S/Q pairs. They are immutable! */
15 public class SQ implements Serializable { 17 public class SQ implements Serializable {
16 18
17 public interface Factory { 19 public interface Factory {
18 SQ createSQ(double s, double q); 20 SQ createSQ(double s, double q, Date d);
19 } 21 }
20 22
21 public static final Factory SQ_FACTORY = new Factory() { 23 public static final Factory SQ_FACTORY = new Factory() {
22 @Override 24 @Override
23 public SQ createSQ(double s, double q) { 25 public SQ createSQ(double s, double q, Date d) {
24 return new SQ(s, q); 26 return new SQ(s, q, d);
25 } 27 }
26 }; 28 };
27 29
28 public interface View { 30 public interface View {
29 double getS(SQ sq); 31 double getS(SQ sq);
30 double getQ(SQ sq); 32 double getQ(SQ sq);
33 Date getDate(SQ sq);
31 } 34 }
32 35
33 public static final View SQ_VIEW = new View() { 36 public static final View SQ_VIEW = new View() {
34 @Override 37 @Override
35 public double getS(SQ sq) { 38 public double getS(SQ sq) {
38 41
39 @Override 42 @Override
40 public double getQ(SQ sq) { 43 public double getQ(SQ sq) {
41 return sq.getQ(); 44 return sq.getQ();
42 } 45 }
46
47 @Override
48 public Date getDate(SQ sq) {
49 return sq.getDate();
50 }
43 }; 51 };
44 52
45 protected double s; 53 protected double s;
46 protected double q; 54 protected double q;
55 protected Date d;
47 56
48 public SQ() { 57 public SQ() {
49 } 58 }
50 59
51 public SQ(double s, double q) { 60 public SQ(double s, double q, Date d) {
52 this.s = s; 61 this.s = s;
53 this.q = q; 62 this.q = q;
63 this.d = d;
54 } 64 }
55 65
56 66
57 public double getS() { 67 public double getS() {
58 return s; 68 return s;
60 70
61 public double getQ() { 71 public double getQ() {
62 return q; 72 return q;
63 } 73 }
64 74
75 public Date getDate() {
76 return d;
77 }
78
65 public boolean isValid() { 79 public boolean isValid() {
66 return !Double.isNaN(s) && !Double.isNaN(q); 80 return !Double.isNaN(s) && !Double.isNaN(q);
67 } 81 }
68 } 82 }
69 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 83 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org