1  /**
  2     Describes a quantity of an article to purchase.
  3  */
  4  public class LineItem
  5  {  
  6     private int quantity;
  7     private Product theProduct;
  8  
  9     /**
 10        Constructs an item from the product and quantity.
 11        @param aProduct the product
 12        @param aQuantity the item quantity
 13     */
 14     public LineItem(Product aProduct, int aQuantity)
 15     {  
 16        theProduct = aProduct;
 17        quantity = aQuantity;
 18     }
 19     
 20     /**
 21        Computes the total cost of this line item.
 22        @return the total price
 23     */
 24     public double getTotalPrice()
 25     {  
 26        return theProduct.getPrice() * quantity;
 27     }
 28     
 29     /**
 30        Formats this item.
 31        @return a formatted string of this item
 32     */
 33     public String format()
 34     {  
 35        return String.format("%-30s%8.2f%5d%8.2f", 
 36              theProduct.getDescription(), theProduct.getPrice(), 
 37              quantity, getTotalPrice());
 38     }
 39  }