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: 
 21:         /** Removes one unspecified entry from this bag, if possible.
 22:        @return  Either the removed entry, if the removal.
 23:                 was successful, or null. */
 24:         public T remove();
 25:    
 26:         /** Removes one occurrence of a given entry from this bag.
 27:        @param anEntry  The entry to be removed.
 28:        @return  True if the removal was successful, or false if not. */
 29:    public boolean remove(T anEntry);
 30:         
 31:         /** Removes all entries from this bag. */
 32:         public void clear();
 33:         
 34:         /** Counts the number of times a given entry appears in this bag.
 35:                  @param anEntry  The entry to be counted.
 36:                  @return  The number of times anEntry appears in the bag. */
 37:         public int getFrequencyOf(T anEntry);
 38:         
 39:         /** Tests whether this bag contains a given entry.
 40:                  @param anEntry  The entry to locate.
 41:                  @return  True if the bag contains anEntry, or false if not. */
 42:         public boolean contains(T anEntry);
 43:    
 44:         /** Retrieves all entries that are in this bag.
 45:                  @return  A newly allocated array of all the entries in the bag.
 46:                 Note: If the bag is empty, the returned array is empty. */
 47:         public T[] toArray();
 48: } // end BagInterface