Eğer bir metod birden fazla sonuç dönecekse kullanılır. Java'daki Optional Result Object kullanımını tam karşılamıyor. Çünkü hata durumunda hata mesajı yerine exception fırlatıyor. Açıklaması şöyle
using exceptions for expected cases is considered an anti-pattern
Yani Optional kullanımı şöyle
public Account findAccountByUserIdX(int userId) {var user = repository.findById(userId).orElseThrow(UserNotFoundException::new); return repository.findAnAccountOfUser(user).orElseThrow(AccountNotFoundException::new); }
Bunun yerine bazı Java kütüphaneleri Either diye bir yapı sunuyor.
Not :Girdi için Parameter Object yazısına bakabilirsiniz
Örnek
jar içindeki main method nesnesini bulmak isteyelim. İki şeyden birisini dönebiliriz.
1. Method nesnesi
2. Hata mesajı
Şöyle yaparız
class MainMethodFinder {Result result = new Result();static class Result {Method mainMethod;private String errorMessage;public String getErrorMessage() {return errorMessage;}public Method getMainMethod() {return mainMethod;}boolean hasError() {return !StringUtil.isNullOrEmpty(errorMessage);}}...}
Hiç yorum yok:
Yorum Gönder