Source of BagInterface.java


  1: /**
  2:    An interface that describes the operations of a bag of objects.
  3:    @author Frank M. Carrano
  4:    @version 4.0
  5: */
  6: public interface BagInterface<T>
  7: {
  8:         /** Gets the current number of entries in this bag.
  9:                  @return  The integer number of entries currently in the bag. */
 10:         public int getCurrentSize();
 11:         
 12:         /** Sees whether this bag is empty.
 13:                  @return  True if the bag is empty, or false if not. */
 14:         public boolean isEmpty();
 15:         
 16:         /** Adds a new entry to this bag.
 17:             @param newEntry  The object to be added as a new entry.
 18:             @return  True if the addition is successful, or false if not. */
 19:         public boolean add(T newEntry);
 20:         /** Removes one unspecified entry from this bag, if possible.
 21:        @return  Either the removed entry, if the removal.
 22:                 was successful, or null. */
 23:         public T remove();
 24:    
 25:         /** Removes one occurrence of a given entry from this bag.
 26:        @param anEntry  The entry to be removed.
 27:        @return  True if the removal was successful, or false if not. */
 28:    public boolean remove(T anEntry);
 29:         
 30:         /** Removes all entries from this bag. */
 31:         public void clear();
 32:         
 33:         /** Counts the number of times a given entry appears in this bag.
 34:                  @param anEntry  The entry to be counted.
 35:                  @return  The number of times anEntry appears in the bag. */
 36:         public int getFrequencyOf(T anEntry);
 37:         
 38:         /** Tests whether this bag contains a given entry.
 39:                  @param anEntry  The entry to locate.
 40:                  @return  True if the bag contains anEntry, or false if not. */
 41:         public boolean contains(T anEntry);
 42:    
 43:         /** Retrieves all entries that are in this bag.
 44:                  @return  A newly allocated array of all the entries in the bag.
 45:                 Note: If the bag is empty, the returned array is empty. */
 46:         public T[] toArray();
 47: } // end BagInterface