Mercurial > hg > openmind
view src/main/java/cl/maps/penta/PentaKey.java @ 88:ad505ef703ed
new implementation of translit-to-romanization rules in RomanizationLoc.
author | Robert Casties <casties@mpiwg-berlin.mpg.de> |
---|---|
date | Fri, 23 Feb 2018 21:43:29 +0100 |
parents | 6e08ff123ae6 |
children |
line wrap: on
line source
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() + "]"; } }