Мы сохраняем объект в базе данных, но прежде, чем есть несколько условий, которые необходимо проверить, я использую if-else для выполнения этих действий, что является наилучшим способом устранения операторов if-else. Мы также устанавливаем объект ответа, который отображается в каждом утверждении.
Кроме того, в будущем мы должны проверить другие условия перед созданием или обновлением.
Callable<Response> callableObj = () -> {
if(isNew){
if(checkCreatePermission()){
if(checkDuplicate()) {
return foundObejct();
} else {
persistNewObject();
}
} else {
throw new Exception();
}
} else {
if(checkUpdatePermission()){
udapteObject();
} else {
throw new Exception();
}
}
};