diff options
author | xander <xander@isxander.dev> | 2022-09-03 14:08:53 +0100 |
---|---|---|
committer | xander <xander@isxander.dev> | 2022-09-03 14:08:53 +0100 |
commit | 3027527637373d7df682bf56368cf176ffcc19a8 (patch) | |
tree | 7d06ac25b09b1944626e3007ef6831f455c36ec0 /src/main/java/dev/isxander/yacl/api | |
parent | be878535f0cd82fe3a0a7c7268e1e6fff5c76a2e (diff) | |
download | YetAnotherConfigLib-3027527637373d7df682bf56368cf176ffcc19a8.tar.gz YetAnotherConfigLib-3027527637373d7df682bf56368cf176ffcc19a8.tar.bz2 YetAnotherConfigLib-3027527637373d7df682bf56368cf176ffcc19a8.zip |
pass through type class to option for controllers to use
Diffstat (limited to 'src/main/java/dev/isxander/yacl/api')
-rw-r--r-- | src/main/java/dev/isxander/yacl/api/Option.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/main/java/dev/isxander/yacl/api/Option.java b/src/main/java/dev/isxander/yacl/api/Option.java index 65eae23..9d6ebe2 100644 --- a/src/main/java/dev/isxander/yacl/api/Option.java +++ b/src/main/java/dev/isxander/yacl/api/Option.java @@ -40,6 +40,12 @@ public interface Option<T> { @NotNull Binding<T> binding(); /** + * Class of the option type. + * Used by some controllers. + */ + @NotNull Class<T> typeClass(); + + /** * Checks if the pending value is not equal to the current set value */ boolean changed(); @@ -77,7 +83,7 @@ public interface Option<T> { * @param typeClass used to capture the type */ static <T> Builder<T> createBuilder(Class<T> typeClass) { - return new Builder<>(); + return new Builder<>(typeClass); } class Builder<T> { @@ -89,8 +95,10 @@ public interface Option<T> { private Binding<T> binding; - private Builder() { + private final Class<T> typeClass; + private Builder(Class<T> typeClass) { + this.typeClass = typeClass; } /** @@ -177,7 +185,7 @@ public interface Option<T> { concatenatedTooltip.append(line); } - return new OptionImpl<>(name, concatenatedTooltip, controlGetter, binding); + return new OptionImpl<>(name, concatenatedTooltip, controlGetter, binding, typeClass); } } } |