1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.ibatis.jpetstore.domain;
18
19 import java.io.Serializable;
20 import java.math.BigDecimal;
21
22
23 public class CartItem implements Serializable {
24
25
26
27 private Item item;
28 private int quantity;
29 private boolean inStock;
30 private BigDecimal total;
31
32
33
34 public boolean isInStock() {
35 return inStock;
36 }
37
38 public void setInStock(boolean inStock) {
39 this.inStock = inStock;
40 }
41
42 public BigDecimal getTotal() {
43 return total;
44 }
45
46 public Item getItem() {
47 return item;
48 }
49
50 public void setItem(Item item) {
51 this.item = item;
52 calculateTotal();
53 }
54
55 public int getQuantity() {
56 return quantity;
57 }
58
59 public void setQuantity(int quantity) {
60 this.quantity = quantity;
61 calculateTotal();
62 }
63
64
65
66 public void incrementQuantity() {
67 quantity++;
68 calculateTotal();
69 }
70
71
72
73 private void calculateTotal() {
74 if (item != null && item.getListPrice() != null) {
75 total = item.getListPrice().multiply(new BigDecimal(quantity));
76 } else {
77 total = null;
78 }
79 }
80
81 }