diff options
author | DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com> | 2022-02-16 13:08:12 +0100 |
---|---|---|
committer | DeDiamondPro <67508414+DeDiamondPro@users.noreply.github.com> | 2022-02-16 13:08:12 +0100 |
commit | 8e718cdd0905c8aee4dda410e3c559bcf2a28dec (patch) | |
tree | 89180765e99e00e146642359a448211ff7b0da8b /src/main/java/io | |
parent | 476954e4e0e2fadcd434045534d632e46b33781f (diff) | |
download | OneConfig-8e718cdd0905c8aee4dda410e3c559bcf2a28dec.tar.gz OneConfig-8e718cdd0905c8aee4dda410e3c559bcf2a28dec.tar.bz2 OneConfig-8e718cdd0905c8aee4dda410e3c559bcf2a28dec.zip |
custom option support
Diffstat (limited to 'src/main/java/io')
-rw-r--r-- | src/main/java/io/polyfrost/oneconfig/config/interfaces/Config.java | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main/java/io/polyfrost/oneconfig/config/interfaces/Config.java b/src/main/java/io/polyfrost/oneconfig/config/interfaces/Config.java index ce73f0c..f592152 100644 --- a/src/main/java/io/polyfrost/oneconfig/config/interfaces/Config.java +++ b/src/main/java/io/polyfrost/oneconfig/config/interfaces/Config.java @@ -15,8 +15,7 @@ import java.util.Map; public class Config { private final File configFile; - - Gson gson = new GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).setPrettyPrinting() + private final Gson gson = new GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).setPrettyPrinting() .registerTypeAdapterFactory(OneConfigTypeAdapterFactory.getStaticTypeAdapterFactory()).create(); /** @@ -88,12 +87,20 @@ public class Config { } else if (field.isAnnotationPresent(TextField.class)) { TextField textField = field.getAnnotation(TextField.class); options.add(new OConfigText(field, textField.name(), textField.description(), textField.placeholder(), textField.hideText())); - } + } else loadCustomType(field); } return options; } /** + * Overwrite this method to add your own custom option types + * + * @param field target field + */ + protected void loadCustomType(Field field) { + } + + /** * Deserialize part of config and load values * * @param json json to deserialize |