Mercurial > hg > openmind
comparison src/main/java/cl/maps/duplex/DuplexKey.java @ 59:6e08ff123ae6
check in complete source of cl.maps.
author | casties |
---|---|
date | Wed, 14 Dec 2016 15:49:40 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
58:153a0232270b | 59:6e08ff123ae6 |
---|---|
1 package cl.maps.duplex; | |
2 | |
3 | |
4 public class DuplexKey<A, B> { | |
5 | |
6 private A aKey; | |
7 private B ownKey; | |
8 | |
9 public DuplexKey(A aKey, B ownKey){ | |
10 this.aKey = aKey; | |
11 this.ownKey = ownKey; | |
12 } | |
13 | |
14 public boolean equalsAKey(A key){ | |
15 if(aKey != null && key != null){ | |
16 return aKey.equals(key); | |
17 }else if(aKey == null && key == null){ | |
18 return true; | |
19 } | |
20 return false; | |
21 } | |
22 | |
23 public boolean equalsOwnKey(B key){ | |
24 if(ownKey != null && key != null){ | |
25 return ownKey.equals(key); | |
26 }else if(ownKey == null && key == null){ | |
27 return true; | |
28 } | |
29 return false; | |
30 } | |
31 | |
32 public A getAKey() { | |
33 return aKey; | |
34 } | |
35 | |
36 public void setAKey(A aKey) { | |
37 this.aKey = aKey; | |
38 } | |
39 | |
40 public B getOwnKey() { | |
41 return ownKey; | |
42 } | |
43 | |
44 public void setOwnKey(B ownKey) { | |
45 this.ownKey = ownKey; | |
46 } | |
47 | |
48 @Override | |
49 public boolean equals(Object o){ | |
50 if(o instanceof DuplexKey){ | |
51 try { | |
52 DuplexKey<A, B> other = (DuplexKey<A, B>)o; | |
53 | |
54 if(this.equalsOwnKey(other.getOwnKey()) && | |
55 this.equalsAKey(other.getAKey())){ | |
56 return true; | |
57 } | |
58 } catch (Exception e) {} | |
59 | |
60 } | |
61 return false; | |
62 } | |
63 | |
64 @Override | |
65 public int hashCode() { | |
66 final int prime = 31; | |
67 int result = 1; | |
68 result = prime * result + ((aKey == null) ? 0 : aKey.hashCode()); | |
69 result = prime * result + ((ownKey == null) ? 0 : ownKey.hashCode()); | |
70 | |
71 return result; | |
72 } | |
73 | |
74 @Override | |
75 public String toString() { | |
76 if (aKey == null || ownKey == null) { | |
77 return super.toString(); | |
78 } | |
79 return "DuplexKey [" + aKey.toString() + ", " + ownKey.toString() + "]"; | |
80 } | |
81 } |