content: package com.rs2.game.items;
  
  /**
   * Represents a single item.
   * 
   * @author Graham Edgecombe
   * 
   */
  public class Item {
  
  	/**
  	 * The id.
  	 */
  	private int id;
  
  	/**
  	 * The number of items.
  	 */
  	private int count;
  
  	/**
  	 * Creates a single item.
  	 * 
  	 * @param id
  	 *            The id.
  	 */
  	public Item(int id) {
  		this(id, 1);
  	}
  
  	public void setCount(int count) {
  		this.count = count;
  	}
  
  	/**
  	 * Creates a stacked item.
  	 * 
  	 * @param id
  	 *            The id.
  	 * @param count
  	 *            The number of items.
  	 * @throws IllegalArgumentException
  	 *             if count is negative.
  	 */
  	public Item(int id, int count) {
  		if (count < 0) {
  			throw new IllegalArgumentException("Count cannot be negative.");
  		}
  		this.id = id;
  		this.count = count;
  	}
  
  	/**
  	 * Creates a stacked item.
  	 * 
  	 * @param id
  	 *            The id.
  	 * @param count
  	 *            The number of items.
  	 * @param timer
  	 *            The timer assigned.
  	 * @throws IllegalArgumentException
  	 *             if count is negative.
  	 */
  	public Item(int id, int count, int timer) {
  		if (count < 0) {
  			throw new IllegalArgumentException("Count cannot be negative.");
  		}
  		this.id = id;
  		this.count = count;
  	}
  
  	/**
  	 * Gets the item id.
  	 * 
  	 * @return The item id.
  	 */
  	public int getId() {
  		return id;
  	}
  
  	/**
  	 * Gets the count.
  	 * 
  	 * @return The count.
  	 */
  	public int getCount() {
  		return count;
  	}
  
  	@Override
  	public String toString() {
  		return Item.class.getName() + " [id=" + id + ", count=" + count + "]";
  	}
  
  	public boolean equals(Item item) {
  		return item.getId() == id && count == item.getCount();
  	}
  }