ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/java/util/AbstractQueue.java
Revision: 1.7
Committed: Mon Jul 28 16:00:19 2003 UTC (20 years, 9 months ago) by tim
Branch: MAIN
Changes since 1.6: +1 -1 lines
Log Message:
Added addAll() back in.

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() throws NoSuchElementException {
29 E x = poll();
30 if (x != null)
31 return x;
32 else
33 throw new NoSuchElementException();
34 }
35
36 public E element() throws NoSuchElementException {
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 // XXX Remove this redundant declaration, pending response from Neal Gafter.
50 public abstract Iterator<E> iterator();
51 }
52
53
54
55
56