Interface ProfileValidator
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Used to validate profiles and to apply acceptance rules.
Bellow the example of usage :
private static ProfileValidator checkDuplicateInDatabaseValidator() {
return (profile, profileIdentifier) -> {
GenericRejectionCause rejection = null;
boolean exist = ... exists in database?;
if (exist) {
rejection = GenericRejectionCause.rejectDuplicatedInDatabase(profileIdentifier);
}
return (rejection == null) ? Optional.empty() : Optional.of(rejection);
};
}
The call the method like this to validate the profile p:
GenericRejectionCause rejection = checkDuplicateInDatabaseValidator().validate(p, p.getName());
Check if rejection is present then do the resolution-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class
Rejection Cause -
Method Summary
-
Method Details
-
validate
Validate a profile object- Parameters:
profile
- to validate- Returns:
- empty optional if OK, Else return the rejection cause
-