From 9b29edd16e6e06b6073c9d060ae7c10b35f63590 Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Sun, 31 Mar 2019 14:20:10 +0300 Subject: [PATCH] Fix some code smells --- .../extension/extractor/MethodAnnotations.java | 14 +++++++------- .../results/ExtensionDescriptive.java | 18 ++++++++++++++++++ .../results/ExtensionTabData.java | 14 ++++++++++++++ .../results/player/ExtensionPlayerData.java | 16 ++++++++++++++++ .../results/server/ExtensionServerData.java | 15 +++++++++++++++ 5 files changed, 70 insertions(+), 7 deletions(-) diff --git a/Plan/api/src/main/java/com/djrapitops/plan/extension/extractor/MethodAnnotations.java b/Plan/api/src/main/java/com/djrapitops/plan/extension/extractor/MethodAnnotations.java index 0758d5d3f..4b854ab15 100644 --- a/Plan/api/src/main/java/com/djrapitops/plan/extension/extractor/MethodAnnotations.java +++ b/Plan/api/src/main/java/com/djrapitops/plan/extension/extractor/MethodAnnotations.java @@ -30,10 +30,10 @@ import java.util.Optional; */ public class MethodAnnotations { - private final Map> methodAnnotations; + private final Map> byAnnotationType; public MethodAnnotations() { - methodAnnotations = new HashMap<>(); + byAnnotationType = new HashMap<>(); } public static boolean hasAnyOf(Method method, Class... annotationClasses) { @@ -52,13 +52,13 @@ public class MethodAnnotations { } public void put(Method method, Class annotationClass, T annotation) { - Map methods = methodAnnotations.getOrDefault(annotationClass, new HashMap<>()); + Map methods = byAnnotationType.getOrDefault(annotationClass, new HashMap<>()); methods.put(method, annotation); - methodAnnotations.put(annotationClass, methods); + byAnnotationType.put(annotationClass, methods); } public Map getMethodAnnotations(Class ofType) { - return (Map) methodAnnotations.getOrDefault(ofType, new HashMap<>()); + return (Map) byAnnotationType.getOrDefault(ofType, new HashMap<>()); } public Collection getAnnotations(Class ofType) { @@ -66,11 +66,11 @@ public class MethodAnnotations { } public boolean isEmpty() { - return methodAnnotations.isEmpty(); + return byAnnotationType.isEmpty(); } @Override public String toString() { - return "MethodAnnotations{" + methodAnnotations + '}'; + return "MethodAnnotations{" + byAnnotationType + '}'; } } \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionDescriptive.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionDescriptive.java index f3ad7a503..c04a73fdf 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionDescriptive.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionDescriptive.java @@ -19,6 +19,7 @@ package com.djrapitops.plan.extension.implementation.results; import com.djrapitops.plan.extension.icon.Icon; import org.apache.commons.lang3.StringUtils; +import java.util.Objects; import java.util.Optional; /** @@ -66,4 +67,21 @@ public class ExtensionDescriptive implements Comparable { public int compareTo(ExtensionDescriptive other) { return Integer.compare(other.priority, this.priority); // Higher is first } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ExtensionDescriptive)) return false; + ExtensionDescriptive that = (ExtensionDescriptive) o; + return priority == that.priority && + name.equals(that.name) && + text.equals(that.text) && + Objects.equals(description, that.description) && + icon.equals(that.icon); + } + + @Override + public int hashCode() { + return Objects.hash(name, text, description, icon, priority); + } } \ No newline at end of file diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionTabData.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionTabData.java index 7d31508de..41aaf8e50 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionTabData.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionTabData.java @@ -83,6 +83,20 @@ public class ExtensionTabData implements Comparable { return Integer.compare(this.tabInformation.getTabPriority(), other.tabInformation.getTabPriority()); // Lower is first } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ExtensionTabData)) return false; + ExtensionTabData that = (ExtensionTabData) o; + return tabInformation.equals(that.tabInformation) && + order.equals(that.order); + } + + @Override + public int hashCode() { + return Objects.hash(tabInformation, order); + } + public void combine(ExtensionTabData other) { this.booleanData.putAll(other.booleanData); this.doubleData.putAll(other.doubleData); diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/player/ExtensionPlayerData.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/player/ExtensionPlayerData.java index 796225aa0..527134b8e 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/player/ExtensionPlayerData.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/player/ExtensionPlayerData.java @@ -22,6 +22,7 @@ import com.djrapitops.plan.extension.implementation.results.ExtensionTabData; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Objects; /** * Represents data of a single extension about a player. @@ -63,6 +64,21 @@ public class ExtensionPlayerData implements Comparable { return String.CASE_INSENSITIVE_ORDER.compare(this.extensionInformation.getPluginName(), o.extensionInformation.getPluginName()); } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ExtensionPlayerData)) return false; + ExtensionPlayerData that = (ExtensionPlayerData) o; + return pluginID == that.pluginID && + extensionInformation.equals(that.extensionInformation) && + tabs.equals(that.tabs); + } + + @Override + public int hashCode() { + return Objects.hash(pluginID, extensionInformation, tabs); + } + public static class Factory { private final ExtensionPlayerData data; diff --git a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/server/ExtensionServerData.java b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/server/ExtensionServerData.java index dc6688ca4..80a974b8c 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/server/ExtensionServerData.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/server/ExtensionServerData.java @@ -63,6 +63,21 @@ public class ExtensionServerData implements Comparable { return String.CASE_INSENSITIVE_ORDER.compare(this.extensionInformation.getPluginName(), o.extensionInformation.getPluginName()); } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ExtensionServerData)) return false; + ExtensionServerData that = (ExtensionServerData) o; + return pluginID == that.pluginID && + Objects.equals(extensionInformation, that.extensionInformation) && + Objects.equals(tabs, that.tabs); + } + + @Override + public int hashCode() { + return Objects.hash(pluginID, extensionInformation, tabs); + } + public static class Factory { private final ExtensionServerData data;