2eca5e0b1379fe9b60e9f71b211fdca72f56f6db
[sbp.git] / src / edu / berkeley / sbp / util / SingletonIterator.java
1 // Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
2
3 package edu.berkeley.sbp.util;
4 import java.util.*;
5
6 public final class SingletonIterator<T> implements Iterator<T>, Iterable<T> {
7
8     private boolean spent = false;
9     private final T t;
10
11     public SingletonIterator(T t) { this.t = t; }
12
13     public void    remove()       { throw new Error(); }
14     public boolean hasNext()      { return !spent; }
15     public T       next()         { spent = true; return t; }
16     public Iterator<T> iterator() { return this; }
17 }