X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FOptions.java;h=83444bb6b34b4297c681de4c87afcf8f753da605;hb=7fb49938b9198110c34bcc600c545bfa91acf6f2;hp=d226f5c17d5de08bc635baf539bebc0a75e73052;hpb=99888ce13cc17d49f5e217ab6f2c9ad5ef168792;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/core/Options.java b/src/main/java/net/pterodactylus/sone/core/Options.java index d226f5c..83444bb 100644 --- a/src/main/java/net/pterodactylus/sone/core/Options.java +++ b/src/main/java/net/pterodactylus/sone/core/Options.java @@ -21,7 +21,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; -import net.pterodactylus.util.validation.Validator; +import com.google.common.base.Predicate; /** * Stores various options that influence Sone’s behaviour. @@ -68,9 +68,8 @@ public class Options { * * @param value * The value to validate - * @return {@code true} if this option does not have a {@link Validator} - * , or the {@link Validator} validates this object, - * {@code false} otherwise + * @return {@code true} if this option does not have a validator, or the + * validator validates this object, {@code false} otherwise */ public boolean validate(T value); @@ -127,7 +126,7 @@ public class Options { private volatile T value; /** The validator. */ - private Validator validator; + private Predicate validator; /** The option watcher. */ private final OptionWatcher optionWatcher; @@ -150,7 +149,7 @@ public class Options { * @param validator * The validator for value validation (may be {@code null}) */ - public DefaultOption(T defaultValue, Validator validator) { + public DefaultOption(T defaultValue, Predicate validator) { this(defaultValue, validator, null); } @@ -176,53 +175,35 @@ public class Options { * @param optionWatcher * The option watcher (may be {@code null}) */ - public DefaultOption(T defaultValue, Validator validator, OptionWatcher optionWatcher) { + public DefaultOption(T defaultValue, Predicate validator, OptionWatcher optionWatcher) { this.defaultValue = defaultValue; this.validator = validator; this.optionWatcher = optionWatcher; } - /** - * {@inheritDoc} - */ @Override public T getDefault() { return defaultValue; } - /** - * {@inheritDoc} - */ @Override public T get() { return (value != null) ? value : defaultValue; } - /** - * Returns the real value of the option. This will also return an unset - * value (usually {@code null})! - * - * @return The real value of the option - */ @Override public T getReal() { return value; } - /** - * {@inheritDoc} - */ @Override public boolean validate(T value) { - return (validator == null) || (value == null) || validator.validate(value); + return (validator == null) || (value == null) || validator.apply(value); } - /** - * {@inheritDoc} - */ @Override public void set(T value) { - if ((value != null) && (validator != null) && (!validator.validate(value))) { + if ((value != null) && (validator != null) && (!validator.apply(value))) { throw new IllegalArgumentException("New Value (" + value + ") could not be validated."); } T oldValue = this.value;