ItemIterator.java |
1 /** 2 * Distribution License: 3 * JSword is free software; you can redistribute it and/or modify it under 4 * the terms of the GNU Lesser General Public License, version 2.1 or later 5 * as published by the Free Software Foundation. This program is distributed 6 * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even 7 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 8 * See the GNU Lesser General Public License for more details. 9 * 10 * The License is available on the internet at: 11 * http://www.gnu.org/copyleft/lgpl.html 12 * or by writing to: 13 * Free Software Foundation, Inc. 14 * 59 Temple Place - Suite 330 15 * Boston, MA 02111-1307, USA 16 * 17 * © CrossWire Bible Society, 2008 - 2016 18 * 19 */ 20 package org.crosswire.common.util; 21 22 import java.util.Iterator; 23 import java.util.NoSuchElementException; 24 25 /** 26 * An <code>ItemIterator</code> is an <code>Iterator</code> that iterates a 27 * single item. 28 * 29 * @param <T> The type of the single element that this iterator will return. 30 * @see gnu.lgpl.License The GNU Lesser General Public License for details. 31 * @author DM Smith 32 */ 33 public class ItemIterator<T> implements Iterator<T> { 34 public ItemIterator(T item) { 35 this.item = item; 36 } 37 38 /* (non-Javadoc) 39 * @see java.util.Iterator#hasNext() 40 */ 41 public boolean hasNext() { 42 return !done; 43 } 44 45 /* (non-Javadoc) 46 * @see java.util.Iterator#next() 47 */ 48 public T next() { 49 if (done) { 50 throw new NoSuchElementException(); 51 } 52 53 done = true; 54 return item; 55 } 56 57 /* (non-Javadoc) 58 * @see java.util.Iterator#remove() 59 */ 60 public void remove() throws UnsupportedOperationException { 61 throw new UnsupportedOperationException(); 62 } 63 64 private T item; 65 private boolean done; 66 } 67