Interface Setting.Validator<T>
-
- Type Parameters:
T
- the type of theSetting
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public static interface Setting.Validator<T>
Represents a validator for a setting. Thevalidate(Object)
method is invoked early in the update setting process with the value of this setting for a fail-fast validation. Later on, thevalidate(Object, Map)
method is invoked with the value of this setting and a map from the settings specified bysettings()
} to their values. All these values come from the sameSettings
instance.
-
-
Method Summary
Modifier and Type Method Description default java.util.Iterator<Setting<T>>
settings()
The settings on which the validity of this setting depends.void
validate(T value)
Validate this setting's value in isolation.default void
validate(T value, java.util.Map<Setting<T>,T> settings)
Validate this setting against its dependencies, specified bysettings()
.
-
-
-
Method Detail
-
validate
void validate(T value)
Validate this setting's value in isolation.- Parameters:
value
- the value of this setting
-
validate
default void validate(T value, java.util.Map<Setting<T>,T> settings)
Validate this setting against its dependencies, specified bysettings()
. The default implementation does nothing, accepting any value as valid as long as it passes the validation invalidate(Object)
.- Parameters:
value
- the value of this settingsettings
- a map from the settings specified bysettings()
} to their values
-
settings
default java.util.Iterator<Setting<T>> settings()
The settings on which the validity of this setting depends. The values of the specified settings are passed tovalidate(Object, Map)
. By default this returns an empty iterator, indicating that this setting does not depend on any other settings.- Returns:
- the settings on which the validity of this setting depends.
-
-