annotate src/main/java/cl/maps/triple/TripleKey.java @ 127:3e772f7f43e0 default tip

ismi-date with long month names in xml dump.
author Robert Casties <casties@mpiwg-berlin.mpg.de>
date Thu, 11 May 2023 18:15:45 +0200
parents 6e08ff123ae6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
59
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
1 package cl.maps.triple;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
2
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
3 /**
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
4 * Unique ownKey. SrcKey and bKey not unique.
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
5 *
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
6 * @author jurzua
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
7 *
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
8 */
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
9 public class TripleKey<A, B, C> {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
10
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
11 private A aKey;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
12 private B bKey;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
13 private C ownKey;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
14
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
15 public TripleKey(A aKey, B label, C ownKey) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
16 this.aKey = aKey;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
17 this.bKey = label;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
18 this.ownKey = ownKey;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
19 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
20
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
21 public boolean equalsAKey(A key) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
22 if (aKey != null && key != null) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
23 return aKey.equals(key);
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
24 } else if (aKey == null && key == null) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
25 return true;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
26 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
27 return false;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
28 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
29
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
30 public boolean equalsBKey(B key) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
31 if (bKey != null && key != null) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
32 return bKey.equals(key);
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
33 } else if (bKey == null && key == null) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
34 return true;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
35 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
36 return false;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
37 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
38
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
39 public boolean equalsOwnKey(C key) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
40 if (ownKey != null && key != null) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
41 return ownKey.equals(key);
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
42 } else if (ownKey == null && key == null) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
43 return true;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
44 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
45 return false;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
46 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
47
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
48 public A getAKey() {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
49 return aKey;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
50 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
51
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
52 public void setAKey(A aKey) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
53 this.aKey = aKey;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
54 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
55
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
56 public B getBKey() {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
57 return bKey;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
58 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
59
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
60 public void setBKey(B bKey) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
61 this.bKey = bKey;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
62 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
63
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
64 public C getOwnKey() {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
65 return ownKey;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
66 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
67
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
68 public void setOwnKey(C ownKey) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
69 this.ownKey = ownKey;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
70 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
71
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
72 @Override
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
73 public boolean equals(Object o) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
74 if (o instanceof TripleKey) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
75 try {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
76 TripleKey<A, B, C> other = (TripleKey<A, B, C>) o;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
77
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
78 if (this.equalsOwnKey(other.getOwnKey())
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
79 && this.equalsAKey(other.getAKey())
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
80 && this.equalsBKey(other.getBKey())) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
81 return true;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
82 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
83 } catch (Exception e) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
84 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
85 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
86 return false;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
87 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
88
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
89 @Override
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
90 public int hashCode() {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
91 final int prime = 31;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
92 int result = 1;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
93 result = prime * result + ((aKey == null) ? 0 : aKey.hashCode());
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
94 result = prime * result + ((bKey == null) ? 0 : bKey.hashCode());
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
95 result = prime * result + ((ownKey == null) ? 0 : ownKey.hashCode());
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
96
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
97 return result;
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
98 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
99
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
100 @Override
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
101 public String toString() {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
102 if (aKey == null || bKey == null || ownKey == null) {
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
103 return super.toString();
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
104 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
105 return "TripleKey [" + aKey.toString() + ", " + bKey.toString() + ", "
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
106 + ownKey.toString() + "]";
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
107 }
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
108
6e08ff123ae6 check in complete source of cl.maps.
casties
parents:
diff changeset
109 }