/
javapractice
/
JavaPractice
Обзор
Документация
Войти
/
javapractice
/
JavaPractice
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
2
CI/CD
Аналитика
develop
bar/src/main/java/functionIntr/consumer/BuyWorkflowImpl.java
47 строк
2 KB
Кузьма Даждъбогин
TSKJVPRCTC5-7 Вынес практику по функциональным интерфейсам в отедльный модуль Слитки
17 фев 2026, 12:32
17 фев 2026, 12:32
5dd264a
Код
Авторство
О чём код?
package functionIntr.consumer; import functionIntr.function.BuyRequestMapper; import functionIntr.predicate.Checker; import history.BuyHistoryImpl; import request.BuyRequest; import java.util.function.BiFunction; import java.util.function.Predicate; import java.util.function.Supplier; public class BuyWorkflowImpl implements Workflow<BuyRequest, BuyHistoryImpl> { private final Supplier<BuyRequest> requestSupplier = BuyRequest::new; private final Supplier<BuyHistoryImpl> historySupplier = BuyHistoryImpl::new; private final BiFunction<BuyRequest, BuyHistoryImpl, BuyRequest> buyRequestMapper = new BuyRequestMapper()::map; @Override public BuyRequest doInitialisation() { BuyRequest buyRequest = requestSupplier.get(); System.out.println("Создан новый " + buyRequest); return buyRequest; } @Override public BuyRequest doFillingByHistory(BuyRequest request, BuyHistoryImpl history) { BuyRequest result = buyRequestMapper.apply(request, history); System.out.println("Реквест заполнен данными из ИО. Состояние реквеста: " + result); return request; } @Override public void doFinish(BuyRequest request) { Predicate<BuyRequest> isOk = Checker.check(request); if (isOk.test(request)) { System.out.println("выкуплено у клиента: " + request); return request; } System.out.println("не получилось провести операцию"); return null; } public Supplier<BuyHistoryImpl> getHistorySupplier() { return historySupplier; } }