1: /**
2: A class of bags whose entries are stored in a fixed-size array.
3: INITIAL, INCOMPLETE DEFINITION; no security checks
4: @author Frank M. Carrano, Timothy M. Henry
5: @version 5.0
6: */
7: public final class ArrayBag<T> implements BagInterface<T>
8: {
9: private final T[] bag;
10: private int numberOfEntries;
11: private static final int DEFAULT_CAPACITY = 25;
13: /** Creates an empty bag whose initial capacity is 25. */
14: public ArrayBag()
15: {
16: this(DEFAULT_CAPACITY);
17: } // end default constructor
19: /** Creates an empty bag having a given initial capacity.
20: @param desiredCapacity The integer capacity desired. */
21: public ArrayBag(int desiredCapacity)
22: {
23: // The cast is safe because the new array contains null entries.
24: @SuppressWarnings("unchecked")
25: T[] tempBag = (T[])new Object[desiredCapacity]; // Unchecked cast
26: bag = tempBag;
27: numberOfEntries = 0;
28: } // end constructor
30: /** Adds a new entry to this bag.
31: @param newEntry The object to be added as a new entry.
32: @return True if the addition is successful, or false if not. */
33: public boolean add(T newEntry)
34: {
35: // To be defined
36: } // end add
37:
38: /** Retrieves all entries that are in this bag.
39: @return A newly allocated array of all the entries in this bag. */
40: public T[] toArray()
41: {
42: // To be defined
43: } // end toArray
44:
45: // Returns true if the array bag is full, or false if not.
46: private boolean isArrayFull()
47: {
48: // To be defined
49: } // end isArrayFull
50: } // end ArrayBag