From 4a524a13e9c003dbd27c60ff937c7e86e29c4f9e Mon Sep 17 00:00:00 2001 From: xander Date: Mon, 5 Sep 2022 19:16:17 +0100 Subject: require restart attribute --- src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java | 5 +++++ src/main/java/dev/isxander/yacl/impl/OptionImpl.java | 8 ++++++++ 2 files changed, 13 insertions(+) (limited to 'src/main/java/dev/isxander/yacl/impl') diff --git a/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java b/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java index d3fbaa6..b531dec 100644 --- a/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java +++ b/src/main/java/dev/isxander/yacl/impl/ButtonOptionImpl.java @@ -63,6 +63,11 @@ public class ButtonOptionImpl implements ButtonOption { throw new UnsupportedOperationException(); } + @Override + public boolean requiresRestart() { + return false; + } + @Override public boolean changed() { return false; diff --git a/src/main/java/dev/isxander/yacl/impl/OptionImpl.java b/src/main/java/dev/isxander/yacl/impl/OptionImpl.java index 2d66aee..d63f20b 100644 --- a/src/main/java/dev/isxander/yacl/impl/OptionImpl.java +++ b/src/main/java/dev/isxander/yacl/impl/OptionImpl.java @@ -16,6 +16,7 @@ public class OptionImpl implements Option { private final Text tooltip; private final Controller controller; private final Binding binding; + private final boolean requiresRestart; private final Class typeClass; @@ -26,12 +27,14 @@ public class OptionImpl implements Option { @Nullable Text tooltip, @NotNull Function, Controller> controlGetter, @NotNull Binding binding, + boolean requiresRestart, @NotNull Class typeClass ) { this.name = name; this.tooltip = tooltip; this.controller = controlGetter.apply(this); this.binding = binding; + this.requiresRestart = requiresRestart; this.typeClass = typeClass; this.pendingValue = binding().getValue(); } @@ -61,6 +64,11 @@ public class OptionImpl implements Option { return typeClass; } + @Override + public boolean requiresRestart() { + return requiresRestart; + } + @Override public boolean changed() { return !binding().getValue().equals(pendingValue); -- cgit