더북(TheBook)

코드 14-4 CartRepositoryImpl.java

package com.springmvc.repository;

import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Repository;
import com.springmvc.domain.Cart;

@Repository
public class CartRepositoryImpl implements CartRepository {

    private Map<String, Cart> listOfCarts;

    public CartRepositoryImpl() {
        listOfCarts = new HashMap<String, Cart>();
    }

 

➊

    public Cart create(Cart cart) {
        if (listOfCarts.keySet().contains(cart.getCartId())) {
            throw new IllegalArgumentException(String.format("장바구니를 생성할 수 없습니다. 장바구니 id(%)가 존재합니다", cart.getCartId()));
        }

        listOfCarts.put(cart.getCartId(), cart);
        return cart;
    }

 

➋

    public Cart read(String cartId) {
        return listOfCarts.get(cartId);
    }
}

➊ create() 메서드는 새로운 장바구니를 생성하여 장바구니 ID를 등록하고 생성된 장바구니 객체를 반환합니다. 동일한 장바구니 ID가 존재하면 예외 처리를 위해 IllegalArgumentException() 메서드를 호출합니다.

➋ read() 메서드는 장바구니 ID를 이용하여 장바구니에 등록된 모든 정보를 가져와 반환합니다.