Interface Validated<T>
- All Superinterfaces:
java.lang.Iterable<Validated<T>>
- All Known Implementing Classes:
Validated.Either,Validated.Invalid,Validated.None,Validated.Secret,Validated.Valid
@Incubating(since="1.5.0") public interface Validated<T> extends java.lang.Iterable<Validated<T>>
Validation support for
MeterRegistryConfig.- Since:
- 1.5.0
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classValidated.Eitherstatic classValidated.Invalid<T>static classValidated.None<T>Indicates that no validation has occurred.static classValidated.SecretA specializationValidated.Validthat won't print the secret in plain text if the validation is serialized.static classValidated.Valid<T>A valid property value. -
Method Summary
Modifier and Type Method Description default Validated<?>and(Validated<?> validated)default java.util.List<Validated.Invalid<?>>failures()<U> Validated<U>flatMap(java.util.function.BiFunction<T,Validated.Valid<T>,Validated<U>> mapping)default <U> Validated<U>flatMap(java.util.function.Function<T,Validated<U>> mapping)Tget()static <T> Validated.Invalid<T>invalid(java.lang.String property, java.lang.Object value, java.lang.String message, InvalidReason reason)static <T> Validated.Invalid<T>invalid(java.lang.String property, java.lang.Object value, java.lang.String message, InvalidReason reason, java.lang.Throwable exception)default Validated<T>invalidateWhen(java.util.function.Predicate<T> condition, java.lang.String message, InvalidReason reason)When the condition is met, turn aValidated.Validresult into anValidated.Invalidresult with the provided message.default booleanisInvalid()booleanisValid()<U> Validated<U>map(java.util.function.Function<T,U> mapping)default Validated<T>nonBlank()static <T> Validated.None<T>none()default TorElse(T t)TorElseGet(java.util.function.Supplier<T> t)voidorThrow()default Validated<T>required()static <T> Validated.Valid<T>valid(java.lang.String property, T value)static Validated.SecretvalidSecret(java.lang.String property, java.lang.String value)Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
Method Details
-
isValid
boolean isValid() -
isInvalid
default boolean isInvalid() -
failures
-
validSecret
-
none
-
valid
-
invalid
static <T> Validated.Invalid<T> invalid(java.lang.String property, @Nullable java.lang.Object value, java.lang.String message, InvalidReason reason) -
invalid
static <T> Validated.Invalid<T> invalid(java.lang.String property, @Nullable java.lang.Object value, java.lang.String message, InvalidReason reason, @Nullable java.lang.Throwable exception) -
and
-
map
-
flatMap
<U> Validated<U> flatMap(java.util.function.BiFunction<T,Validated.Valid<T>,Validated<U>> mapping) -
flatMap
-
invalidateWhen
default Validated<T> invalidateWhen(java.util.function.Predicate<T> condition, java.lang.String message, InvalidReason reason)When the condition is met, turn aValidated.Validresult into anValidated.Invalidresult with the provided message.- Parameters:
condition-truewhen the property should be considered invalid.message- A message explaining the reason why the property is considered invalid.reason- An invalid reason.- Returns:
- When originally
Validated.Valid, apply the test and either retain the valid decision or make itValidated.Invalid. When originallyValidated.InvalidorValidated.None, don't apply the test at all, and pass through the original decision.
-
required
-
nonBlank
-
get
- Throws:
ValidationException
-
orElse
- Throws:
ValidationException
-
orElseGet
- Throws:
ValidationException
-
orThrow
- Throws:
ValidationException
-