[#4916] Implement Key.equals() and hashCode() for all Key types

This commit is contained in:
lukaseder 2016-01-08 16:53:46 +01:00
parent 0826c10b16
commit 38cf47ef50

View File

@ -99,4 +99,37 @@ abstract class AbstractKey<R extends Record> implements Key<R> {
public final TableField<R, ?>[] getFieldsArray() {
return fields;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + ((table == null) ? 0 : table.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
AbstractKey<?> other = (AbstractKey<?>) obj;
if (name == null) {
if (other.name != null)
return false;
}
else if (!name.equals(other.name))
return false;
if (table == null) {
if (other.table != null)
return false;
}
else if (!table.equals(other.table))
return false;
return true;
}
}