annotate src/main/java/cl/maps/duplex/DuplexKey.java @ 105:16a0796e3871 default tip

remove "console.log" from general.js
author Calvin Yeh <cyeh@mpipw-berlin.mpg.com>
date Fri, 29 Sep 2017 16:18:02 +0200
parents 57d19e93f1c3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
1 package cl.maps.duplex;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
2
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
3
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
4 public class DuplexKey<A, B> {
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
5
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
6 private A aKey;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
7 private B ownKey;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
8
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
9 public DuplexKey(A aKey, B ownKey){
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
10 this.aKey = aKey;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
11 this.ownKey = ownKey;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
12 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
13
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
14 public boolean equalsAKey(A key){
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
15 if(aKey != null && key != null){
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
16 return aKey.equals(key);
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
17 }else if(aKey == null && key == null){
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
18 return true;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
19 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
20 return false;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
21 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
22
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
23 public boolean equalsOwnKey(B key){
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
24 if(ownKey != null && key != null){
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
25 return ownKey.equals(key);
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
26 }else if(ownKey == null && key == null){
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
27 return true;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
28 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
29 return false;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
30 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
31
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
32 public A getAKey() {
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
33 return aKey;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
34 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
35
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
36 public void setAKey(A aKey) {
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
37 this.aKey = aKey;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
38 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
39
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
40 public B getOwnKey() {
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
41 return ownKey;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
42 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
43
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
44 public void setOwnKey(B ownKey) {
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
45 this.ownKey = ownKey;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
46 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
47
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
48 @Override
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
49 public boolean equals(Object o){
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
50 if(o instanceof DuplexKey){
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
51 try {
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
52 DuplexKey<A, B> other = (DuplexKey<A, B>)o;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
53
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
54 if(this.equalsOwnKey(other.getOwnKey()) &&
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
55 this.equalsAKey(other.getAKey())){
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
56 return true;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
57 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
58 } catch (Exception e) {}
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
59
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
60 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
61 return false;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
62 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
63
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
64 @Override
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
65 public int hashCode() {
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
66 final int prime = 31;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
67 int result = 1;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
68 result = prime * result + ((aKey == null) ? 0 : aKey.hashCode());
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
69 result = prime * result + ((ownKey == null) ? 0 : ownKey.hashCode());
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
70
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
71 return result;
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
72 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
73
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
74 @Override
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
75 public String toString() {
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
76 if (aKey == null || ownKey == null) {
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
77 return super.toString();
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
78 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
79 return "DuplexKey [" + aKey.toString() + ", " + ownKey.toString() + "]";
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
80 }
57d19e93f1c3 adding mapping classes
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
81 }