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 class
Validated.Either
static class
Validated.Invalid<T>
static class
Validated.None<T>
Indicates that no validation has occurred.static class
Validated.Secret
A specializationValidated.Valid
that won't print the secret in plain text if the validation is serialized.static class
Validated.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)
T
get()
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.Valid
result into anValidated.Invalid
result with the provided message.default boolean
isInvalid()
boolean
isValid()
<U> Validated<U>
map(java.util.function.Function<T,U> mapping)
default Validated<T>
nonBlank()
static <T> Validated.None<T>
none()
default T
orElse(T t)
T
orElseGet(java.util.function.Supplier<T> t)
void
orThrow()
default Validated<T>
required()
static <T> Validated.Valid<T>
valid(java.lang.String property, T value)
static Validated.Secret
validSecret(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.Valid
result into anValidated.Invalid
result with the provided message.- Parameters:
condition
-true
when 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.Invalid
orValidated.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
-