/* * JavaXYQ Source Code * by kylixs * at 2010-4-17 * please visit http://javaxyq.googlecode.com * or mail to kylixs@qq.com */ package com.javaxyq.data; import java.io.Serializable; import com.javaxyq.model.Item; import com.javaxyq.util.StringUtils; /** * ��Ʒʵ������ * @author gongdewei * @date 2010-4-17 create */ public class ItemInstance implements Serializable{ private static final long serialVersionUID = -4833399832791836608L; transient private Item item; private int amount; private long itemId = -1; private String name; private String type; /** * @param itemVO * @param i */ public ItemInstance(Item item, int amount) { this.setItem(item); this.setAmount(amount); } public Item getItem() { return item; } public void setItem(Item item) { this.item = item; this.itemId = item.getId(); this.name = item.getName(); this.type = item.getType(); } public int getAmount() { return amount; } public void setAmount(int amount) { this.amount = amount; } public long getItemId() { return itemId; } /** * �ı���Ʒ���� * @param n �ı��� */ public int alterAmount(int n) { if(n <0 && this.amount + n < 0) { n = - this.amount; } this.amount += n; return n; } @Override public boolean equals(Object obj) { if(this == obj) { return true; } if (obj instanceof ItemInstance) { ItemInstance it = (ItemInstance) obj; return getItemId() == it.getItemId() && StringUtils.equals(it.getName(), getName()); } return false; } //---------- delegated methods ---------------// public Long getId() { return itemId; } public String getName() { return name; } public String getType() { return type; } public String getDescription() { return item.getDescription(); } public short getLevel() { return item.getLevel(); } public long getPrice() { return item.getPrice(); } }