From dfe8081e8b9036a606bd313239c319cceb52e7df Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Fri, 11 Jan 2013 09:56:55 +0100 Subject: [PATCH] =?utf8?q?Use=20watcher=20in=20equals()=20and=20hashCode()?= =?utf8?q?=20if=20it=E2=80=99s=20not=20null.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../net/pterodactylus/rhynodge/loader/Chain.java | 40 ++++++++++++++-------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/src/main/java/net/pterodactylus/rhynodge/loader/Chain.java b/src/main/java/net/pterodactylus/rhynodge/loader/Chain.java index 2587d09..d54fae0 100644 --- a/src/main/java/net/pterodactylus/rhynodge/loader/Chain.java +++ b/src/main/java/net/pterodactylus/rhynodge/loader/Chain.java @@ -279,11 +279,15 @@ public class Chain { public int hashCode() { int hashCode = 0; hashCode ^= name.hashCode(); - hashCode ^= query.hashCode(); - for (Part filter : filters) { - hashCode ^= filter.hashCode(); + if (watcher != null) { + hashCode ^= watcher.hashCode(); + } else { + hashCode ^= query.hashCode(); + for (Part filter : filters) { + hashCode ^= filter.hashCode(); + } + hashCode ^= trigger.hashCode(); } - hashCode ^= trigger.hashCode(); hashCode ^= action.hashCode(); hashCode ^= updateInterval; return hashCode; @@ -301,19 +305,25 @@ public class Chain { if (!name.equals(chain.name)) { return false; } - if (!query.equals(chain.query)) { - return false; - } - if (filters.size() != chain.filters.size()) { - return false; - } - for (int filterIndex = 0; filterIndex < filters.size(); ++filterIndex) { - if (!filters.get(filterIndex).equals(chain.filters.get(filterIndex))) { + if (watcher != null) { + if (!watcher.equals(chain.watcher)) { + return false; + } + } else { + if (!query.equals(chain.query)) { + return false; + } + if (filters.size() != chain.filters.size()) { + return false; + } + for (int filterIndex = 0; filterIndex < filters.size(); ++filterIndex) { + if (!filters.get(filterIndex).equals(chain.filters.get(filterIndex))) { + return false; + } + } + if (!trigger.equals(chain.trigger)) { return false; } - } - if (!trigger.equals(chain.trigger)) { - return false; } if (!action.equals(chain.action)) { return false; -- 2.7.4