01: import java.util.*;
02:
03: /**
04: A bundle of items that is again an item.
05: */
06: public class Bundle implements LineItem
07: {
08: /**
09: Constructs a bundle with no items.
10: */
11: public Bundle() { items = new ArrayList(); }
12:
13: /**
14: Adds an item to the bundle.
15: @param item the item to add
16: */
17: public void add(LineItem item) { items.add(item); }
18:
19: public double getPrice()
20: {
21: double price = 0;
22: for (int i = 0; i < items.size(); i++)
23: {
24: LineItem item = (LineItem) items.get(i);
25: price += item.getPrice();
26: }
27: return price;
28: }
29:
30: public String toString()
31: {
32: String description = "Bundle: ";
33: for (int i = 0; i < items.size(); i++)
34: {
35: if (i > 0) description += ", ";
36: LineItem item = (LineItem) items.get(i);
37: description += item.toString();
38: }
39: return description;
40: }
41:
42: private ArrayList items;
43: }