/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/java/java-503-101-041/main.java
28 строк
875 B
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
public class Order { private final OrderId id; private final CustomerId customerId; private final List<OrderItem> items; private OrderStatus status; public void addItem(Product product, int quantity) { validateCanModify(); items.add(new OrderItem(product.getId(), product.getPrice(), quantity)); } public void removeItem(OrderItemId itemId) { validateCanModify(); items.removeIf(item -> item.getId().equals(itemId)); } public void submit() { validateCanSubmit(); this.status = OrderStatus.SUBMITTED; registerEvent(new OrderSubmittedEvent(id, customerId, calculateTotal())); } private void validateCanModify() { if (status != OrderStatus.DRAFT) { throw new OrderModificationException("Cannot modify submitted order"); } } }