У меня есть предикат, который принимает Optional<LocalDateTime>
, и я хочу проверить, присутствует ли он, а LocalDateTime
- до текущей даты.
Я могу написать это с помощью операторов if, которые будут выглядеть следующим образом:
@Override
public boolean test(Optional<ResetPassword> resetPassword) {
if (resetPassword.isPresent()) {
if (!resetPassword.get().getValidUntil().isBefore(LocalDateTime.now())) {
throw new CustomException("Incorrect date");
}
return true;
}
return false;
}
Как я могу переписать это, используя функции Optional.map
и Optional.filter
?