package ufrn.imd.service.impl; import lombok.RequiredArgsConstructor; import lombok.extern.java.Log; import ufrn.imd.domain.Account; import ufrn.imd.domain.Client; import ufrn.imd.repository.Repository; import ufrn.imd.service.Service; import java.rmi.RemoteException; import java.util.Optional; @Log @RequiredArgsConstructor public class BalanceServiceImpl implements Service { private final Repository<Client> clientRepository; public void balance(Optional<Client> clientOptional) throws RemoteException { Client user = clientOptional .orElseThrow(() -> new RuntimeException("NULL USER")); Client client = clientRepository.find(user.getId()) .orElseThrow(() -> new RuntimeException("Invalid user!")); Account account = client.getAccount(); log.info(String.format("Account Balance: R$ %f", account.getBalance())); } }