Mercurial > hg > openmind
diff src/main/java/cl/maps/penta/PentaKey.java @ 59:6e08ff123ae6
check in complete source of cl.maps.
author | casties |
---|---|
date | Wed, 14 Dec 2016 15:49:40 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/cl/maps/penta/PentaKey.java Wed Dec 14 15:49:40 2016 +0100 @@ -0,0 +1,146 @@ +package cl.maps.penta; + + +public class PentaKey <A, B, C, D, E> { + private A aKey; + private B bKey; + private C cKey; + private D dKey; + private E ownKey; + + public PentaKey(A aKey, B bKey, C cKey, D dKey, E ownKey){ + this.aKey = aKey; + this.bKey = bKey; + this.cKey = cKey; + this.dKey = dKey; + 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 equalsBKey(B key){ + if(bKey != null && key != null){ + return bKey.equals(key); + }else if(bKey == null && key == null){ + return true; + } + return false; + } + + public boolean equalsCKey(C key){ + if(cKey != null && key != null){ + return cKey.equals(key); + }else if(cKey == null && key == null){ + return true; + } + return false; + } + + public boolean equalsDKey(D key){ + if(dKey != null && key != null){ + return dKey.equals(key); + }else if(dKey == null && key == null){ + return true; + } + return false; + } + + public boolean equalsOwnKey(E 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 getBKey() { + return bKey; + } + + public void setBKey(B bKey) { + this.bKey = bKey; + } + + public D getDKey() { + return dKey; + } + + public void setDKey(D dKey) { + this.dKey = dKey; + } + + public C getCKey() { + return cKey; + } + + public void setCKey(C cKey) { + this.cKey = cKey; + } + + public E getOwnKey() { + return ownKey; + } + + public void setOwnKey(E ownKey) { + this.ownKey = ownKey; + } + + @Override + public boolean equals(Object o){ + if(o instanceof PentaKey){ + try { + PentaKey<A, B, C, D, E> other = (PentaKey<A, B, C, D, E>)o; + + if(this.equalsDKey(other.getDKey()) && + this.equalsAKey(other.getAKey()) && + this.equalsBKey(other.getBKey()) && + this.equalsCKey(other.getCKey())){ + 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 + ((bKey == null) ? 0 : bKey.hashCode()); + result = prime * result + ((cKey == null) ? 0 : cKey.hashCode()); + result = prime * result + ((dKey == null) ? 0 : dKey.hashCode()); + result = prime * result + ((ownKey == null) ? 0 : ownKey.hashCode()); + + return result; + } + + @Override + public String toString() { + if (aKey == null || bKey == null || cKey == null || dKey == null || ownKey == null) { + return super.toString(); + } + return "PentaKey [" + + aKey.toString() + ", " + + bKey.toString() + ", " + + cKey.toString() + ", " + + dKey.toString() + ", " + + ownKey.toString() + "]"; + } +}