annotate artifacts/src/main/java/org/dive4elements/river/artifacts/model/DateRange.java @ 5863:4897a58c8746

River artifacts: Added new copyright headers.
author Sascha L. Teichmann <teichmann@intevation.de>
date Sun, 28 Apr 2013 14:40:59 +0200
parents 5aa05a7a34b7
children af13ceeba52a
rev   line source
5863
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
2 * Software engineering by Intevation GmbH
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
3 *
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
6 * documentation coming with Dive4Elements River for details.
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
7 */
4897a58c8746 River artifacts: Added new copyright headers.
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5838
diff changeset
8
5831
bd047b71ab37 Repaired internal references
Sascha L. Teichmann <teichmann@intevation.de>
parents: 3280
diff changeset
9 package org.dive4elements.river.artifacts.model;
3210
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
10
3279
5a7b4f890d53 Delta W(t) chart subtitle fixed
Christian Lins <christian.lins@intevation.de>
parents: 3210
diff changeset
11 import java.io.Serializable;
3210
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
12 import java.util.Date;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
13
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
14 public class DateRange
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
15 implements Serializable
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
16 {
3279
5a7b4f890d53 Delta W(t) chart subtitle fixed
Christian Lins <christian.lins@intevation.de>
parents: 3210
diff changeset
17 private static final long serialVersionUID = -2553914795388094818L;
3280
4a70525c5b0d Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3279
diff changeset
18
3210
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
19 protected Date from;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
20 protected Date to;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
21
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
22 public DateRange(Date from, Date to) {
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
23 this.from = from;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
24 this.to = to;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
25 }
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
26
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
27 public Date getFrom() {
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
28 return from;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
29 }
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
30
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
31 public void setFrom(Date from) {
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
32 this.from = from;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
33 }
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
34
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
35 public Date getTo() {
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
36 return to;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
37 }
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
38
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
39 public void setTo(Date to) {
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
40 this.to = to;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
41 }
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
42
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
43 private static final boolean equalDates(Date a, Date b) {
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
44 if (a == null && b != null) return false;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
45 if (a != null && b == null) return false;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
46 if (a == null) return true;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
47 return a.equals(b);
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
48 }
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
49
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
50 @Override
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
51 public boolean equals(Object other) {
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
52 if (!(other instanceof DateRange)) {
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
53 return false;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
54 }
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
55 DateRange o = (DateRange)other;
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
56 return equalDates(from, o.from) && equalDates(to, o.to);
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
57 }
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
58 }
ae14f412ba10 SQ: finished the access stuff.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff changeset
59 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org