Witam
Próbuję co nieco zapoznać się Vavrem i nie mogę rozwiązać następującego problemu:
Na wejściu dostaję jakiś obiekt (w tym przypadku niech będzie string) opakowany w Try i chciałbym w zależności od predykatu obsłużyć Success bądź Failure. Z grubsza pseudokod wygląda tak:
public class Scratch {
public static Validation<String, String> predicate(String myString) {
return myString == "rightString" ?
Validation.valid(myString) :
Validation.invalid(myString + " is not a right string!");
}
public static void main(String[] args) {
Try.ofSupplier(() -> "someString")
.toValidation()
// te linię chciałbym uzupełnić wyliczeniem predykatu i zwróceniem success bądź failure
.toTry()
.onSuccess(x -> System.out.println(x))
.onFailure(x -> System.err.println(x));
}
}
Żaden z trzech poradników, które udało mi się znaleźć nie traktuje o sytuacji w której chciałbym przekształcić Try na Validation korzystając z metody toValidation() i dokonać sprawdzenia predykatu.
Czy ktoś mógłby wskazać odpowiedni kierunek? Być może zupełnie źle podchodzę do tematu?