Source of DiscountedItem.java


  1: /**
  2:    A decorator for an item that applies a discount.
  3: */
  4: public class DiscountedItem implements LineItem
  5: {
  6:    /**
  7:       Constructs a discounted item.
  8:       @param item the item to be discounted
  9:       @param discount the discount percentage
 10:    */
 11:    public DiscountedItem(LineItem item, double discount) 
 12:    { 
 13:       this.item = item; 
 14:       this.discount = discount;
 15:    }

 17:    public double getPrice() 
 18:    {
 19:       return item.getPrice() * (1 - discount / 100); 
 20:    }

 22:    public String toString()
 23:    {
 24:       return item.toString() + " (Discount " + discount
 25:          + "%)";
 26:    } 

 28:    private LineItem item;
 29:    private double discount;
 30: }