Interface Setting.Validator<T>

  • Type Parameters:
    T - the type of the Setting
    Enclosing class:
    Setting<T>
    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. The validate(Object) method is invoked early in the update setting process with the value of this setting for a fail-fast validation. Later on, the validate(Object, Map) method is invoked with the value of this setting and a map from the settings specified by settings()} to their values. All these values come from the same Settings instance.
    • Method Summary

      Modifier and Type Method Description
      default java.util.Iterator<Setting<?>> 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<?>,​java.lang.Object> settings)
      Validate this setting against its dependencies, specified by settings().
    • 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<?>,​java.lang.Object> settings)
        Validate this setting against its dependencies, specified by settings(). The default implementation does nothing, accepting any value as valid as long as it passes the validation in validate(Object).
        Parameters:
        value - the value of this setting
        settings - a map from the settings specified by settings()} to their values
      • settings

        default java.util.Iterator<Setting<?>> settings()
        The settings on which the validity of this setting depends. The values of the specified settings are passed to validate(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.