public class ValidationEngine<T,FV extends ValidationEngine>
extends java.lang.Object
| Modifier | Constructor and Description |
|---|---|
protected |
ValidationEngine(java.lang.String fieldName,
T value,
ValidlyNote note) |
protected |
ValidationEngine(T value) |
protected |
ValidationEngine(T value,
java.util.List<java.lang.String> note) |
| Modifier and Type | Method and Description |
|---|---|
ValidationEngine<T,FV> |
must(java.util.function.Predicate<T> predicate,
java.lang.String message)
Set the value for which the predicate test returns false to be considered as invalid.
|
<NEW_TYPE> ValidationEngine<NEW_TYPE,ValidationEngine> |
mustConvert(java.util.function.Function<T,NEW_TYPE> conversionFunction,
java.lang.String message)
Applies the given function with the value.
|
ValidationEngine<T,FV> |
mustFatally(java.util.function.Predicate<T> predicate,
java.lang.String message)
Same as method
must(java.util.function.Predicate<T>, java.lang.String) but the remaining validation predicates defined for this value will not be evaluated
if the predicate test returns false (Note-All Mode). |
protected void |
setFailOnFirst(boolean failOnFirst) |
protected void |
setStopValidation(boolean stopValidation) |
ValidationEngine<T,FV> |
when(boolean value,
Then<T>... thenPredicates)
Evaluate the provided Then predicate(s) if the given boolean value is true.
|
ValidationEngine<T,FV> |
when(java.util.function.Predicate<T> predicate,
Then<T>... thenPredicates)
Evaluate the provided Then predicate(s) if the first predicate is true.
|
protected ValidationEngine(java.lang.String fieldName,
T value,
ValidlyNote note)
protected ValidationEngine(T value, java.util.List<java.lang.String> note)
protected ValidationEngine(T value)
public ValidationEngine<T,FV> must(java.util.function.Predicate<T> predicate, java.lang.String message)
predicate - predicate the evaluatemessage - validation errorpublic ValidationEngine<T,FV> mustFatally(java.util.function.Predicate<T> predicate, java.lang.String message)
must(java.util.function.Predicate<T>, java.lang.String) but the remaining validation predicates defined for this value will not be evaluated
if the predicate test returns false (Note-All Mode).
E.g.
value(name, note)
.mustNotBeNull("")
.mustFatally(s -> s.equals("something"), "") -- if this fails
.must(s -> s.startsWith("so"), "") -- this won't be evaluated
predicate - predicate to evaluatemessage - validation errorpublic <NEW_TYPE> ValidationEngine<NEW_TYPE,ValidationEngine> mustConvert(java.util.function.Function<T,NEW_TYPE> conversionFunction, java.lang.String message)
valid(date, "date", note)
.mustNotBeNull("must not be null")
.mustConvert(s -> LocalDate.parse(s, ofPattern("dd.MM.yyyy")), "invalid date")
.must(d -> d.isAfter(LocalDate.now()), "date must be in the future");
NEW_TYPE - return type of the functionconversionFunction - function the is applied with the value as inputmessage - validation error@SafeVarargs public final ValidationEngine<T,FV> when(java.util.function.Predicate<T> predicate, Then<T>... thenPredicates)
predicate - determines whether to evaluate the then predicate(s)thenPredicates - array of then predicates@SafeVarargs public final ValidationEngine<T,FV> when(boolean value, Then<T>... thenPredicates)
value - determines whether to evaluate the then predicate(s)thenPredicates - array of then predicatesprotected void setFailOnFirst(boolean failOnFirst)
protected void setStopValidation(boolean stopValidation)