@Override public int hashCode() { int result = (reln != null ? reln.hashCode() : 17); result = 29 * result + (gov != null ? gov.hashCode() : 0); result = 29 * result + (dep != null ? dep.hashCode() : 0); return result; }
@SuppressWarnings({"RedundantIfStatement"}) @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof TypedDependency)) { return false; } final TypedDependency typedDep = (TypedDependency) o; if (reln != null ? !reln.equals(typedDep.reln) : typedDep.reln != null) { return false; } if (gov != null ? !gov.equals(typedDep.gov) : typedDep.gov != null) { return false; } if (dep != null ? !dep.equals(typedDep.dep) : typedDep.dep != null) { return false; } return true; }
public int compareTo(TypedDependency tdArg) { TreeGraphNode depArg = tdArg.dep(); TreeGraphNode depThis = this.dep(); int indexArg = depArg.index(); int indexThis = depThis.index(); if (indexThis > indexArg) { return 1; } else if (indexThis < indexArg) { return -1; } // dependent indices are equal, check governor int govIndexArg = tdArg.gov().index(); int govIndexThis = this.gov().index(); if (govIndexThis > govIndexArg) { return 1; } else if (govIndexThis < govIndexArg) { return -1; } // dependent and governor indices equal, the relation decides return this.reln().compareTo(tdArg.reln()); }