X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Futils%2FDefaultOption.java;fp=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Futils%2FDefaultOption.java;h=0000000000000000000000000000000000000000;hp=b46c58e49b6701d0492e0240df48ce1bec23bcfb;hb=80deddc6b581421556370b31aec51d1ae902fa14;hpb=2d910565950724b0c12230f9874746f5c980ecdd diff --git a/src/main/java/net/pterodactylus/sone/utils/DefaultOption.java b/src/main/java/net/pterodactylus/sone/utils/DefaultOption.java deleted file mode 100644 index b46c58e..0000000 --- a/src/main/java/net/pterodactylus/sone/utils/DefaultOption.java +++ /dev/null @@ -1,83 +0,0 @@ -package net.pterodactylus.sone.utils; - -import java.util.function.Predicate; - -/** - * Basic implementation of an {@link Option}. - * - * @param - * The type of the option - */ -public class DefaultOption implements Option { - - /** The default value. */ - private final T defaultValue; - - /** The current value. */ - private volatile T value; - - /** The validator. */ - private Predicate validator; - - /** - * Creates a new default option. - * - * @param defaultValue - * The default value of the option - */ - public DefaultOption(T defaultValue) { - this(defaultValue, null); - } - - /** - * Creates a new default option. - * - * @param defaultValue - * The default value of the option - * @param validator - * The validator for value validation (may be {@code null}) - */ - public DefaultOption(T defaultValue, Predicate validator) { - this.defaultValue = defaultValue; - this.validator = validator; - } - - /** - * {@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.test(value); - } - - /** - * {@inheritDoc} - */ - @Override - public void set(T value) { - if ((value != null) && (validator != null) && (!validator.test(value))) { - throw new IllegalArgumentException("New Value (" + value + ") could not be validated."); - } - this.value = value; - } - -}