package com.bookshop.solid.dip;

import java.util.ArrayList;
import java.util.List;

/** A low-level detail. The service neither knows nor cares that this is the implementation. */
public class InMemoryOrderRepository implements OrderRepository {

    private final List<PlacedOrder> orders = new ArrayList<>();

    @Override
    public void save(PlacedOrder order) {
        orders.add(order);
    }

    @Override
    public List<PlacedOrder> forCustomer(String customerId) {
        return orders.stream().filter(o -> o.customerId().equals(customerId)).toList();
    }
}
