001: package com.ibatis.jpetstore.domain;
002:
003: import java.io.Serializable;
004: import java.math.BigDecimal;
005:
006: public class LineItem implements Serializable {
007:
008: /* Private Fields */
009:
010: private int orderId;
011:
012: private int lineNumber;
013:
014: private int quantity;
015:
016: private String itemId;
017:
018: private BigDecimal unitPrice;
019:
020: private Item item;
021:
022: private BigDecimal total;
023:
024: /* Constructors */
025:
026: public LineItem() {
027: }
028:
029: public LineItem(int lineNumber, CartItem cartItem) {
030: this .lineNumber = lineNumber;
031: this .quantity = cartItem.getQuantity();
032: this .itemId = cartItem.getItem().getItemId();
033: this .unitPrice = cartItem.getItem().getListPrice();
034: this .item = cartItem.getItem();
035: }
036:
037: /* JavaBeans Properties */
038:
039: public int getOrderId() {
040: return orderId;
041: }
042:
043: public void setOrderId(int orderId) {
044: this .orderId = orderId;
045: }
046:
047: public int getLineNumber() {
048: return lineNumber;
049: }
050:
051: public void setLineNumber(int lineNumber) {
052: this .lineNumber = lineNumber;
053: }
054:
055: public String getItemId() {
056: return itemId;
057: }
058:
059: public void setItemId(String itemId) {
060: this .itemId = itemId;
061: }
062:
063: public BigDecimal getUnitPrice() {
064: return unitPrice;
065: }
066:
067: public void setUnitPrice(BigDecimal unitprice) {
068: this .unitPrice = unitprice;
069: }
070:
071: public BigDecimal getTotal() {
072: return total;
073: }
074:
075: public Item getItem() {
076: return item;
077: }
078:
079: public void setItem(Item item) {
080: this .item = item;
081: calculateTotal();
082: }
083:
084: public int getQuantity() {
085: return quantity;
086: }
087:
088: public void setQuantity(int quantity) {
089: this .quantity = quantity;
090: calculateTotal();
091: }
092:
093: /* Private methods */
094:
095: private void calculateTotal() {
096: if (item != null && item.getListPrice() != null) {
097: total = item.getListPrice().multiply(
098: new BigDecimal(quantity));
099: } else {
100: total = null;
101: }
102: }
103:
104: }
|