From 38cf47ef50dacbba3c87c1a620c67f706458d0d1 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Fri, 8 Jan 2016 16:53:46 +0100 Subject: [PATCH] [#4916] Implement Key.equals() and hashCode() for all Key types --- .../main/java/org/jooq/impl/AbstractKey.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractKey.java b/jOOQ/src/main/java/org/jooq/impl/AbstractKey.java index 7b94c3762f..d548a3b6e5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractKey.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractKey.java @@ -99,4 +99,37 @@ abstract class AbstractKey implements Key { public final TableField[] 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; + } }