class StockOp {

    @Branch
    public ShipmentStatus checkShipment(Shipment shipment) {
        // 出荷時刻が設定されていない
        if (shipment.getShippedDateOption().isNull()) {
            return ShipmentStatus.NOT_SHIPPED;
        }
        // 原価が設定されていない
        if (shipment.getCostOption().isNull()) {
            return ShipmentStatus.COST_UNKNOWN;
        }
        // 計算完了
        return ShipmentStatus.COMPLETED;
    }

}