Mercurial > hg > openmind
view src/main/java/cl/maps/duplex/DuplexKey.java @ 111:71465cead59c
patch "ALIAS" attribute of ALIAS type in XML export.
author | Robert Casties <casties@mpiwg-berlin.mpg.de> |
---|---|
date | Mon, 12 Aug 2019 18:05:16 +0200 |
parents | 6e08ff123ae6 |
children |
line wrap: on
line source
package cl.maps.duplex; public class DuplexKey<A, B> { private A aKey; private B ownKey; public DuplexKey(A aKey, B ownKey){ this.aKey = aKey; this.ownKey = ownKey; } public boolean equalsAKey(A key){ if(aKey != null && key != null){ return aKey.equals(key); }else if(aKey == null && key == null){ return true; } return false; } public boolean equalsOwnKey(B key){ if(ownKey != null && key != null){ return ownKey.equals(key); }else if(ownKey == null && key == null){ return true; } return false; } public A getAKey() { return aKey; } public void setAKey(A aKey) { this.aKey = aKey; } public B getOwnKey() { return ownKey; } public void setOwnKey(B ownKey) { this.ownKey = ownKey; } @Override public boolean equals(Object o){ if(o instanceof DuplexKey){ try { DuplexKey<A, B> other = (DuplexKey<A, B>)o; if(this.equalsOwnKey(other.getOwnKey()) && this.equalsAKey(other.getAKey())){ return true; } } catch (Exception e) {} } return false; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((aKey == null) ? 0 : aKey.hashCode()); result = prime * result + ((ownKey == null) ? 0 : ownKey.hashCode()); return result; } @Override public String toString() { if (aKey == null || ownKey == null) { return super.toString(); } return "DuplexKey [" + aKey.toString() + ", " + ownKey.toString() + "]"; } }