diff --git a/eco-api/src/main/java/com/willfp/eco/core/EcoPlugin.java b/eco-api/src/main/java/com/willfp/eco/core/EcoPlugin.java index b26a9945..11d597ca 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/EcoPlugin.java +++ b/eco-api/src/main/java/com/willfp/eco/core/EcoPlugin.java @@ -3,7 +3,8 @@ package com.willfp.eco.core; import com.willfp.eco.core.command.AbstractCommand; import com.willfp.eco.core.config.base.ConfigYml; import com.willfp.eco.core.config.base.LangYml; -import com.willfp.eco.internal.config.updating.ConfigHandler; +import com.willfp.eco.core.config.ConfigHandler; +import com.willfp.eco.internal.config.updating.EcoConfigHandler; import com.willfp.eco.core.display.Display; import com.willfp.eco.core.display.DisplayModule; import com.willfp.eco.core.events.EventManager; @@ -188,7 +189,7 @@ public abstract class EcoPlugin extends JavaPlugin { this.metadataValueFactory = new EcoMetadataValueFactory(this); this.runnableFactory = new EcoRunnableFactory(this); this.extensionLoader = new EcoExtensionLoader(this); - this.configHandler = new ConfigHandler(this); + this.configHandler = new EcoConfigHandler(this); this.logger = new EcoLogger(this); this.langYml = new LangYml(this); diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/ConfigHandler.java b/eco-api/src/main/java/com/willfp/eco/core/config/ConfigHandler.java new file mode 100644 index 00000000..d76ec77d --- /dev/null +++ b/eco-api/src/main/java/com/willfp/eco/core/config/ConfigHandler.java @@ -0,0 +1,30 @@ +package com.willfp.eco.core.config; + +import com.willfp.eco.internal.config.LoadableConfig; +import org.jetbrains.annotations.NotNull; + +public interface ConfigHandler { + /** + * Invoke all update methods. + */ + void callUpdate(); + + /** + * Register an updatable class. + * + * @param updatableClass The class with an update method. + */ + void registerUpdatableClass(@NotNull Class updatableClass); + + /** + * Save all configs. + */ + void saveAllConfigs(); + + /** + * Add new config to be saved. + * + * @param config The config. + */ + void addConfig(@NotNull LoadableConfig config); +} diff --git a/eco-api/src/main/java/com/willfp/eco/internal/config/updating/ConfigHandler.java b/eco-api/src/main/java/com/willfp/eco/internal/config/updating/EcoConfigHandler.java similarity index 88% rename from eco-api/src/main/java/com/willfp/eco/internal/config/updating/ConfigHandler.java rename to eco-api/src/main/java/com/willfp/eco/internal/config/updating/EcoConfigHandler.java index 80dda28c..a97d3bce 100644 --- a/eco-api/src/main/java/com/willfp/eco/internal/config/updating/ConfigHandler.java +++ b/eco-api/src/main/java/com/willfp/eco/internal/config/updating/EcoConfigHandler.java @@ -2,6 +2,7 @@ package com.willfp.eco.internal.config.updating; import com.willfp.eco.core.EcoPlugin; import com.willfp.eco.core.PluginDependent; +import com.willfp.eco.core.config.ConfigHandler; import com.willfp.eco.core.config.ConfigUpdater; import com.willfp.eco.internal.config.LoadableConfig; import com.willfp.eco.internal.config.updating.exceptions.InvalidUpdatableClassException; @@ -18,7 +19,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; -public class ConfigHandler extends PluginDependent { +public class EcoConfigHandler extends PluginDependent implements ConfigHandler { /** * A set of all configs that can be saved. */ @@ -34,13 +35,11 @@ public class ConfigHandler extends PluginDependent { * * @param plugin The plugin to manage. */ - public ConfigHandler(@NotNull final EcoPlugin plugin) { + public EcoConfigHandler(@NotNull final EcoPlugin plugin) { super(plugin); } - /** - * Invoke all update methods. - */ + @Override public void callUpdate() { updatableClasses.forEach(clazz -> Arrays.stream(clazz.getDeclaredMethods()).forEach(method -> { if (method.isAnnotationPresent(ConfigUpdater.class)) { @@ -64,11 +63,7 @@ public class ConfigHandler extends PluginDependent { })); } - /** - * Register an updatable class. - * - * @param updatableClass The class with an update method. - */ + @Override public void registerUpdatableClass(@NotNull final Class updatableClass) { boolean isValid = false; for (Method method : updatableClass.getDeclaredMethods()) { @@ -85,9 +80,7 @@ public class ConfigHandler extends PluginDependent { updatableClasses.add(updatableClass); } - /** - * Save all configs. - */ + @Override public void saveAllConfigs() { try { for (LoadableConfig config : configs) { @@ -98,10 +91,7 @@ public class ConfigHandler extends PluginDependent { } } - /** - * Add new config to be saved. - * @param config The config. - */ + @Override public void addConfig(@NotNull final LoadableConfig config) { configs.add(config); } diff --git a/eco-api/src/main/java/com/willfp/eco/internal/config/updating/exceptions/InvalidUpdatableClassException.java b/eco-api/src/main/java/com/willfp/eco/internal/config/updating/exceptions/InvalidUpdatableClassException.java index b372d5d3..d1ca769f 100644 --- a/eco-api/src/main/java/com/willfp/eco/internal/config/updating/exceptions/InvalidUpdatableClassException.java +++ b/eco-api/src/main/java/com/willfp/eco/internal/config/updating/exceptions/InvalidUpdatableClassException.java @@ -1,11 +1,11 @@ package com.willfp.eco.internal.config.updating.exceptions; -import com.willfp.eco.internal.config.updating.ConfigHandler; +import com.willfp.eco.internal.config.updating.EcoConfigHandler; import org.jetbrains.annotations.NotNull; public class InvalidUpdatableClassException extends RuntimeException { /** - * Called when an updatable class is registered into an {@link ConfigHandler}. + * Called when an updatable class is registered into an {@link EcoConfigHandler}. * * @param message The error message. */