From 56ac45820db751dceaeda0e6d6c7cfee61ff04c5 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Wed, 23 Dec 2020 17:37:55 +0000 Subject: [PATCH] Documented extension loading and factories --- .../extensions/loader/EcoExtensionLoader.java | 27 +++++++++++++++++-- .../extensions/loader/ExtensionLoader.java | 14 +++++----- .../eco/util/factory/AbstractFactory.java | 4 --- .../util/factory/PluginDependentFactory.java | 7 +++-- 4 files changed, 37 insertions(+), 15 deletions(-) delete mode 100644 eco-util/src/main/java/com/willfp/eco/util/factory/AbstractFactory.java diff --git a/eco-util/src/main/java/com/willfp/eco/util/extensions/loader/EcoExtensionLoader.java b/eco-util/src/main/java/com/willfp/eco/util/extensions/loader/EcoExtensionLoader.java index 05336b82..fd88860f 100644 --- a/eco-util/src/main/java/com/willfp/eco/util/extensions/loader/EcoExtensionLoader.java +++ b/eco-util/src/main/java/com/willfp/eco/util/extensions/loader/EcoExtensionLoader.java @@ -6,6 +6,7 @@ import com.willfp.eco.util.extensions.MalformedExtensionException; import com.willfp.eco.util.injection.PluginDependent; import com.willfp.eco.util.plugin.AbstractEcoPlugin; import org.bukkit.configuration.file.YamlConfiguration; +import org.jetbrains.annotations.NotNull; import java.io.File; import java.io.InputStream; @@ -19,15 +20,26 @@ import java.util.HashSet; import java.util.Set; /** - * Concrete implementation of {@link ExtensionLoader} + * Concrete implementation of {@link ExtensionLoader}. */ public class EcoExtensionLoader extends PluginDependent implements ExtensionLoader { + /** + * All currently loaded extensions. + */ private final Set extensions = new HashSet<>(); - public EcoExtensionLoader(AbstractEcoPlugin plugin) { + /** + * Create a new extension loader and link it to a specific {@link AbstractEcoPlugin}. + * + * @param plugin The plugin to manage + */ + public EcoExtensionLoader(@NotNull final AbstractEcoPlugin plugin) { super(plugin); } + /** + * Load all present extensions. + */ @Override public void loadExtensions() { File dir = new File(this.getPlugin().getDataFolder(), "/extensions"); @@ -99,18 +111,29 @@ public class EcoExtensionLoader extends PluginDependent implements ExtensionLoad extensions.add(extension); } + /** + * Unload all existing extensions. + */ @Override public void unloadExtensions() { extensions.forEach(Extension::disable); extensions.clear(); } + /** + * Unloads, then loads all extensions. + */ @Override public void reloadExtensions() { unloadExtensions(); loadExtensions(); } + /** + * Returns all loaded extensions. + * + * @return A {@link Set} of all loaded extensions. + */ @Override public Set getLoadedExtensions() { return extensions; diff --git a/eco-util/src/main/java/com/willfp/eco/util/extensions/loader/ExtensionLoader.java b/eco-util/src/main/java/com/willfp/eco/util/extensions/loader/ExtensionLoader.java index 34f73da8..48a502d4 100644 --- a/eco-util/src/main/java/com/willfp/eco/util/extensions/loader/ExtensionLoader.java +++ b/eco-util/src/main/java/com/willfp/eco/util/extensions/loader/ExtensionLoader.java @@ -5,30 +5,30 @@ import com.willfp.eco.util.extensions.Extension; import java.util.Set; /** - * Interface for extension loader - * Some external plugins may modify extension loading for internal server purposes + * Interface for extension loader. + * Some external plugins may modify extension loading for internal server purposes. */ public interface ExtensionLoader { /** - * Load all extensions + * Load all extensions. */ void loadExtensions(); /** - * Unload all loaded extensions + * Unload all loaded extensions. */ void unloadExtensions(); /** - * Reload all extensions + * Reload all extensions. */ void reloadExtensions(); /** - * Retrieve a set of all loaded extensions + * Retrieve a set of all loaded extensions. * - * @return An {@link Set} of all loaded extensions + * @return An {@link Set} of all loaded extensions. */ Set getLoadedExtensions(); } diff --git a/eco-util/src/main/java/com/willfp/eco/util/factory/AbstractFactory.java b/eco-util/src/main/java/com/willfp/eco/util/factory/AbstractFactory.java deleted file mode 100644 index 92503ce9..00000000 --- a/eco-util/src/main/java/com/willfp/eco/util/factory/AbstractFactory.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.willfp.eco.util.factory; - -public interface AbstractFactory { -} diff --git a/eco-util/src/main/java/com/willfp/eco/util/factory/PluginDependentFactory.java b/eco-util/src/main/java/com/willfp/eco/util/factory/PluginDependentFactory.java index 8171d53c..830791f9 100644 --- a/eco-util/src/main/java/com/willfp/eco/util/factory/PluginDependentFactory.java +++ b/eco-util/src/main/java/com/willfp/eco/util/factory/PluginDependentFactory.java @@ -2,9 +2,12 @@ package com.willfp.eco.util.factory; import com.willfp.eco.util.injection.PluginDependent; import com.willfp.eco.util.plugin.AbstractEcoPlugin; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.NotNull; -public abstract class PluginDependentFactory extends PluginDependent implements AbstractFactory { - protected PluginDependentFactory(AbstractEcoPlugin plugin) { +@ApiStatus.Internal +public abstract class PluginDependentFactory extends PluginDependent { + protected PluginDependentFactory(@NotNull final AbstractEcoPlugin plugin) { super(plugin); } }