코드 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를 이용하여 장바구니에 등록된 모든 정보를 가져와 반환합니다.