ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/java/util/AbstractQueue.java
Revision: 1.5
Committed: Sat Jul 26 13:17:51 2003 UTC (20 years, 10 months ago) by tim
Branch: MAIN
Changes since 1.4: +2 -1 lines
Log Message:
Default compiler is now 2.2-ea. Some sources are not compatible with 2.0-ea.

File Contents

# Content
1 /*
2 * Written by Doug Lea with assistance from members of JCP JSR-166
3 * Expert Group and released to the public domain. Use, modify, and
4 * redistribute this code in any way without acknowledgement.
5 */
6
7 package java.util;
8
9 /**
10 * AbstractQueue provides default implementations of add, remove, and
11 * element based on offer, poll, and peek, respectively but that throw
12 * exceptions instead of indicating failure via false or null returns.
13 * The provided implementations all assume that the base implementation
14 * does <em>not</em> allow <tt>null</tt> elements.
15 * @since 1.5
16 * @author Doug Lea
17 */
18
19 public abstract class AbstractQueue<E> extends AbstractCollection<E> implements Queue<E> {
20
21 public boolean add(E x) {
22 if (offer(x))
23 return true;
24 else
25 throw new IllegalStateException("Queue full");
26 }
27
28 public E remove() {
29 E x = poll();
30 if (x != null)
31 return x;
32 else
33 throw new NoSuchElementException();
34 }
35
36 public E element() {
37 E x = peek();
38 if (x != null)
39 return x;
40 else
41 throw new NoSuchElementException();
42 }
43
44 public void clear() {
45 while (poll() != null)
46 ;
47 }
48
49 public abstract Iterator<E> iterator();
50 }