From 119b5742fbbf5d34d17340dbce7996c6b2497c1c Mon Sep 17 00:00:00 2001 From: Auxilor Date: Wed, 14 Jul 2021 13:36:04 +0200 Subject: [PATCH] Continued config changes --- .../willfp/eco/core/config/BaseConfig.java | 4 +- .../eco/core/config/ExtendableConfig.java | 3 +- .../eco/core/config/JsonStaticBaseConfig.java | 3 +- .../eco/core/config/LoadableJSONConfig.java | 5 +++ .../eco/core/config/LoadableYamlConfig.java | 5 +++ .../eco/core/config/StaticBaseConfig.java | 3 +- .../willfp/eco/core/config/YamlConfig.java | 2 +- .../core/config/wrapper/ConfigFactory.java | 30 +++++++------ .../config/wrapper/JSONConfigWrapper.java | 4 +- .../wrapper/LoadableJSONConfigWrapper.java | 45 +++++++++++++++++++ .../wrapper/LoadableYamlConfigWrapper.java | 45 +++++++++++++++++++ .../config/wrapper/YamlConfigWrapper.java | 4 +- .../eco/internal/config/EcoConfigFactory.java | 28 ++++++------ .../config/json/LoadableJSONConfig.java | 3 +- .../config/yaml/LoadableYamlConfig.java | 3 +- 15 files changed, 145 insertions(+), 42 deletions(-) create mode 100644 eco-api/src/main/java/com/willfp/eco/core/config/LoadableJSONConfig.java create mode 100644 eco-api/src/main/java/com/willfp/eco/core/config/LoadableYamlConfig.java create mode 100644 eco-api/src/main/java/com/willfp/eco/core/config/wrapper/LoadableJSONConfigWrapper.java create mode 100644 eco-api/src/main/java/com/willfp/eco/core/config/wrapper/LoadableYamlConfigWrapper.java diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/BaseConfig.java b/eco-api/src/main/java/com/willfp/eco/core/config/BaseConfig.java index 3b199368..70c8977b 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/config/BaseConfig.java +++ b/eco-api/src/main/java/com/willfp/eco/core/config/BaseConfig.java @@ -2,12 +2,12 @@ package com.willfp.eco.core.config; import com.willfp.eco.core.Eco; import com.willfp.eco.core.EcoPlugin; -import com.willfp.eco.core.config.wrapper.YamlConfigWrapper; +import com.willfp.eco.core.config.wrapper.LoadableYamlConfigWrapper; import com.willfp.eco.core.config.wrapper.WrappedBukkitConfig; import org.bukkit.configuration.file.YamlConfiguration; import org.jetbrains.annotations.NotNull; -public abstract class BaseConfig extends YamlConfigWrapper { +public abstract class BaseConfig extends LoadableYamlConfigWrapper { /** * Config implementation for configs present in the plugin's base directory (eg config.yml, lang.yml). diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/ExtendableConfig.java b/eco-api/src/main/java/com/willfp/eco/core/config/ExtendableConfig.java index c395209f..bcc3250d 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/config/ExtendableConfig.java +++ b/eco-api/src/main/java/com/willfp/eco/core/config/ExtendableConfig.java @@ -2,10 +2,11 @@ package com.willfp.eco.core.config; import com.willfp.eco.core.Eco; import com.willfp.eco.core.EcoPlugin; +import com.willfp.eco.core.config.wrapper.LoadableYamlConfigWrapper; import com.willfp.eco.core.config.wrapper.YamlConfigWrapper; import org.jetbrains.annotations.NotNull; -public abstract class ExtendableConfig extends YamlConfigWrapper { +public abstract class ExtendableConfig extends LoadableYamlConfigWrapper { /** * Config implementation for configs present in the plugin's base directory (eg config.yml, lang.yml). *

diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/JsonStaticBaseConfig.java b/eco-api/src/main/java/com/willfp/eco/core/config/JsonStaticBaseConfig.java index 3c2f762c..8c4ffa90 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/config/JsonStaticBaseConfig.java +++ b/eco-api/src/main/java/com/willfp/eco/core/config/JsonStaticBaseConfig.java @@ -3,9 +3,10 @@ package com.willfp.eco.core.config; import com.willfp.eco.core.Eco; import com.willfp.eco.core.EcoPlugin; import com.willfp.eco.core.config.wrapper.JSONConfigWrapper; +import com.willfp.eco.core.config.wrapper.LoadableJSONConfigWrapper; import org.jetbrains.annotations.NotNull; -public abstract class JsonStaticBaseConfig extends JSONConfigWrapper { +public abstract class JsonStaticBaseConfig extends LoadableJSONConfigWrapper { /** * Config implementation for configs present in the plugin's base directory (eg config.json, lang.json). *

diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/LoadableJSONConfig.java b/eco-api/src/main/java/com/willfp/eco/core/config/LoadableJSONConfig.java new file mode 100644 index 00000000..59b00a7b --- /dev/null +++ b/eco-api/src/main/java/com/willfp/eco/core/config/LoadableJSONConfig.java @@ -0,0 +1,5 @@ +package com.willfp.eco.core.config; + +public interface LoadableJSONConfig extends JSONConfig, LoadableConfig { + +} diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/LoadableYamlConfig.java b/eco-api/src/main/java/com/willfp/eco/core/config/LoadableYamlConfig.java new file mode 100644 index 00000000..9612171f --- /dev/null +++ b/eco-api/src/main/java/com/willfp/eco/core/config/LoadableYamlConfig.java @@ -0,0 +1,5 @@ +package com.willfp.eco.core.config; + +public interface LoadableYamlConfig extends Config, LoadableConfig { + +} diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/StaticBaseConfig.java b/eco-api/src/main/java/com/willfp/eco/core/config/StaticBaseConfig.java index b9e1d8b6..34aed686 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/config/StaticBaseConfig.java +++ b/eco-api/src/main/java/com/willfp/eco/core/config/StaticBaseConfig.java @@ -2,10 +2,11 @@ package com.willfp.eco.core.config; import com.willfp.eco.core.Eco; import com.willfp.eco.core.EcoPlugin; +import com.willfp.eco.core.config.wrapper.LoadableYamlConfigWrapper; import com.willfp.eco.core.config.wrapper.YamlConfigWrapper; import org.jetbrains.annotations.NotNull; -public abstract class StaticBaseConfig extends YamlConfigWrapper { +public abstract class StaticBaseConfig extends LoadableYamlConfigWrapper { /** * Config implementation for configs present in the plugin's base directory (eg config.yml, lang.yml). *

diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/YamlConfig.java b/eco-api/src/main/java/com/willfp/eco/core/config/YamlConfig.java index e6e198d8..da5ebf19 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/config/YamlConfig.java +++ b/eco-api/src/main/java/com/willfp/eco/core/config/YamlConfig.java @@ -7,7 +7,7 @@ import org.jetbrains.annotations.NotNull; import java.io.StringReader; -public abstract class YamlConfig extends YamlConfigWrapper { +public abstract class YamlConfig extends YamlConfigWrapper { /** * Config implementation for passing YamlConfigurations. *

diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/ConfigFactory.java b/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/ConfigFactory.java index 9a8ae09b..0af8fc74 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/ConfigFactory.java +++ b/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/ConfigFactory.java @@ -3,6 +3,8 @@ package com.willfp.eco.core.config.wrapper; import com.willfp.eco.core.EcoPlugin; import com.willfp.eco.core.config.Config; import com.willfp.eco.core.config.JSONConfig; +import com.willfp.eco.core.config.LoadableJSONConfig; +import com.willfp.eco.core.config.LoadableYamlConfig; import org.bukkit.configuration.file.YamlConfiguration; import org.jetbrains.annotations.NotNull; @@ -19,12 +21,12 @@ public interface ConfigFactory { * @param removeUnused Whether keys not present in the default config should be removed on update. * @param updateBlacklist Substring of keys to not add/remove keys for. */ - Config createUpdatableYamlConfig(@NotNull String configName, - @NotNull EcoPlugin plugin, - @NotNull String subDirectoryPath, - @NotNull Class source, - boolean removeUnused, - @NotNull String... updateBlacklist); + LoadableYamlConfig createUpdatableYamlConfig(@NotNull String configName, + @NotNull EcoPlugin plugin, + @NotNull String subDirectoryPath, + @NotNull Class source, + boolean removeUnused, + @NotNull String... updateBlacklist); /** * JSON loadable config. @@ -34,10 +36,10 @@ public interface ConfigFactory { * @param subDirectoryPath The subdirectory path. * @param source The class that owns the resource. */ - JSONConfig createLoadableJSONConfig(@NotNull String configName, - @NotNull EcoPlugin plugin, - @NotNull String subDirectoryPath, - @NotNull Class source); + LoadableJSONConfig createLoadableJSONConfig(@NotNull String configName, + @NotNull EcoPlugin plugin, + @NotNull String subDirectoryPath, + @NotNull Class source); /** * Yaml loadable config. @@ -47,10 +49,10 @@ public interface ConfigFactory { * @param subDirectoryPath The subdirectory path. * @param source The class that owns the resource. */ - Config createLoadableYamlConfig(@NotNull String configName, - @NotNull EcoPlugin plugin, - @NotNull String subDirectoryPath, - @NotNull Class source); + LoadableYamlConfig createLoadableYamlConfig(@NotNull String configName, + @NotNull EcoPlugin plugin, + @NotNull String subDirectoryPath, + @NotNull Class source); /** * Yaml config. diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/JSONConfigWrapper.java b/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/JSONConfigWrapper.java index 9a921c90..f59e5ded 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/JSONConfigWrapper.java +++ b/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/JSONConfigWrapper.java @@ -6,13 +6,13 @@ import org.jetbrains.annotations.Nullable; import java.util.List; -public abstract class JSONConfigWrapper extends ConfigWrapper implements JSONConfig { +public abstract class JSONConfigWrapper extends ConfigWrapper implements JSONConfig { /** * Create a config wrapper. * * @param handle The handle. */ - public JSONConfigWrapper(@NotNull final JSONConfig handle) { + public JSONConfigWrapper(@NotNull final T handle) { super(handle); } diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/LoadableJSONConfigWrapper.java b/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/LoadableJSONConfigWrapper.java new file mode 100644 index 00000000..dae1ca55 --- /dev/null +++ b/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/LoadableJSONConfigWrapper.java @@ -0,0 +1,45 @@ +package com.willfp.eco.core.config.wrapper; + +import com.willfp.eco.core.config.LoadableConfig; +import com.willfp.eco.core.config.LoadableJSONConfig; +import org.jetbrains.annotations.NotNull; + +import java.io.File; +import java.io.IOException; + +public abstract class LoadableJSONConfigWrapper extends JSONConfigWrapper implements LoadableConfig { + /** + * Create a config wrapper. + * + * @param handle The handle. + */ + public LoadableJSONConfigWrapper(@NotNull final LoadableJSONConfig handle) { + super(handle); + } + + + @Override + public void createFile() { + this.getHandle().createFile(); + } + + @Override + public String getResourcePath() { + return this.getHandle().getResourcePath(); + } + + @Override + public void save() throws IOException { + this.getHandle().save(); + } + + @Override + public File getConfigFile() { + return this.getHandle().getConfigFile(); + } + + @Override + public String getName() { + return this.getHandle().getName(); + } +} diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/LoadableYamlConfigWrapper.java b/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/LoadableYamlConfigWrapper.java new file mode 100644 index 00000000..938f1c69 --- /dev/null +++ b/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/LoadableYamlConfigWrapper.java @@ -0,0 +1,45 @@ +package com.willfp.eco.core.config.wrapper; + +import com.willfp.eco.core.config.LoadableConfig; +import com.willfp.eco.core.config.LoadableYamlConfig; +import org.jetbrains.annotations.NotNull; + +import java.io.File; +import java.io.IOException; + +public abstract class LoadableYamlConfigWrapper extends YamlConfigWrapper implements LoadableConfig { + /** + * Create a config wrapper. + * + * @param handle The handle. + */ + public LoadableYamlConfigWrapper(@NotNull final LoadableYamlConfig handle) { + super(handle); + } + + + @Override + public void createFile() { + this.getHandle().createFile(); + } + + @Override + public String getResourcePath() { + return this.getHandle().getResourcePath(); + } + + @Override + public void save() throws IOException { + this.getHandle().save(); + } + + @Override + public File getConfigFile() { + return this.getHandle().getConfigFile(); + } + + @Override + public String getName() { + return this.getHandle().getName(); + } +} diff --git a/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/YamlConfigWrapper.java b/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/YamlConfigWrapper.java index 8be7e8c5..adda3485 100644 --- a/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/YamlConfigWrapper.java +++ b/eco-api/src/main/java/com/willfp/eco/core/config/wrapper/YamlConfigWrapper.java @@ -4,13 +4,13 @@ import com.willfp.eco.core.config.Config; import org.bukkit.configuration.file.YamlConfiguration; import org.jetbrains.annotations.NotNull; -public abstract class YamlConfigWrapper extends ConfigWrapper implements WrappedBukkitConfig { +public abstract class YamlConfigWrapper extends ConfigWrapper implements WrappedBukkitConfig { /** * Create a config wrapper. * * @param handle The handle. */ - public YamlConfigWrapper(@NotNull final Config handle) { + public YamlConfigWrapper(@NotNull final T handle) { super(handle); } } diff --git a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/config/EcoConfigFactory.java b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/config/EcoConfigFactory.java index adf95062..01d9b855 100644 --- a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/config/EcoConfigFactory.java +++ b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/config/EcoConfigFactory.java @@ -16,12 +16,12 @@ import java.util.Map; public class EcoConfigFactory implements ConfigFactory { @Override - public Config createUpdatableYamlConfig(@NotNull final String configName, - @NotNull final EcoPlugin plugin, - @NotNull final String subDirectoryPath, - @NotNull final Class source, - final boolean removeUnused, - @NotNull final String... updateBlacklist) { + public com.willfp.eco.core.config.LoadableYamlConfig createUpdatableYamlConfig(@NotNull final String configName, + @NotNull final EcoPlugin plugin, + @NotNull final String subDirectoryPath, + @NotNull final Class source, + final boolean removeUnused, + @NotNull final String... updateBlacklist) { return new UpdatableYamlConfig( configName, plugin, @@ -33,10 +33,10 @@ public class EcoConfigFactory implements ConfigFactory { } @Override - public JSONConfig createLoadableJSONConfig(@NotNull final String configName, - @NotNull final EcoPlugin plugin, - @NotNull final String subDirectoryPath, - @NotNull final Class source) { + public com.willfp.eco.core.config.LoadableJSONConfig createLoadableJSONConfig(@NotNull final String configName, + @NotNull final EcoPlugin plugin, + @NotNull final String subDirectoryPath, + @NotNull final Class source) { return new LoadableJSONConfig( configName, plugin, @@ -46,10 +46,10 @@ public class EcoConfigFactory implements ConfigFactory { } @Override - public Config createLoadableYamlConfig(@NotNull final String configName, - @NotNull final EcoPlugin plugin, - @NotNull final String subDirectoryPath, - @NotNull final Class source) { + public com.willfp.eco.core.config.LoadableYamlConfig createLoadableYamlConfig(@NotNull final String configName, + @NotNull final EcoPlugin plugin, + @NotNull final String subDirectoryPath, + @NotNull final Class source) { return new LoadableYamlConfig( configName, plugin, diff --git a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/config/json/LoadableJSONConfig.java b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/config/json/LoadableJSONConfig.java index be48051a..d44e5c65 100644 --- a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/config/json/LoadableJSONConfig.java +++ b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/config/json/LoadableJSONConfig.java @@ -1,7 +1,6 @@ package com.willfp.eco.internal.config.json; import com.willfp.eco.core.EcoPlugin; -import com.willfp.eco.core.config.LoadableConfig; import lombok.AccessLevel; import lombok.Getter; import org.jetbrains.annotations.NotNull; @@ -18,7 +17,7 @@ import java.nio.file.StandardOpenOption; import java.util.HashMap; @SuppressWarnings({"unchecked", "unused"}) -public class LoadableJSONConfig extends JSONConfigWrapper implements LoadableConfig { +public class LoadableJSONConfig extends JSONConfigWrapper implements com.willfp.eco.core.config.LoadableJSONConfig { /** * The physical config file, as stored on disk. */ diff --git a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/config/yaml/LoadableYamlConfig.java b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/config/yaml/LoadableYamlConfig.java index 4657d066..94bf0f80 100644 --- a/eco-core/core-backend/src/main/java/com/willfp/eco/internal/config/yaml/LoadableYamlConfig.java +++ b/eco-core/core-backend/src/main/java/com/willfp/eco/internal/config/yaml/LoadableYamlConfig.java @@ -1,7 +1,6 @@ package com.willfp.eco.internal.config.yaml; import com.willfp.eco.core.EcoPlugin; -import com.willfp.eco.core.config.LoadableConfig; import com.willfp.eco.core.config.wrapper.WrappedBukkitConfig; import lombok.AccessLevel; import lombok.Getter; @@ -14,7 +13,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -public class LoadableYamlConfig extends YamlConfigWrapper implements LoadableConfig, WrappedBukkitConfig { +public class LoadableYamlConfig extends YamlConfigWrapper implements com.willfp.eco.core.config.LoadableYamlConfig, WrappedBukkitConfig { /** * The physical config file, as stored on disk. */