1: /**
2: An interface for the ADT priority queue.
3: @author Frank M. Carrano
4: @author Timothy M. Henry
5: @version 4.0
6: */
7: public interface PriorityQueueInterface<T extends Comparable<? super T>>
8: {
9: /** Adds a new entry to this priority queue.
10: @param newEntry An object to be added. */
11: public void add(T newEntry);
12:
13: /** Removes and returns the entry having the highest priority.
14: @return Either the object having the highest priority or, if the
15: priority queue is empty before the operation, null. */
16: public T remove();
17:
18: /** Retrieves the entry having the highest priority.
19: @return Either the object having the highest priority or, if the
20: priority queue is empty, null. */
21: public T peek();
22:
23: /** Detects whether this priority queue is empty.
24: @return True if the priority queue is empty, or false otherwise. */
25: public boolean isEmpty();
26:
27: /** Gets the size of this priority queue.
28: @return The number of entries currently in the priority queue. */
29: public int getSize();
30:
31: /** Removes all entries from this priority queue. */
32: public void clear();
33: } // end PriorityQueueInterface