1 /* 2 * Copyright (c) 1994, 2005, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package java.util; 27 28 /** 29 * An object that implements the Enumeration interface generates a 30 * series of elements, one at a time. Successive calls to the 31 * <code>nextElement</code> method return successive elements of the 32 * series. 33 * <p> 34 * For example, to print all elements of a <tt>Vector<E></tt> <i>v</i>: 35 * <pre> 36 * for (Enumeration<E> e = v.elements(); e.hasMoreElements();) 37 * System.out.println(e.nextElement());</pre> 38 * <p> 39 * Methods are provided to enumerate through the elements of a 40 * vector, the keys of a hashtable, and the values in a hashtable. 41 * Enumerations are also used to specify the input streams to a 42 * <code>SequenceInputStream</code>. 43 * <p> 44 * NOTE: The functionality of this interface is duplicated by the Iterator 45 * interface. In addition, Iterator adds an optional remove operation, and 46 * has shorter method names. New implementations should consider using 47 * Iterator in preference to Enumeration. 48 * 49 * @see java.util.Iterator 50 * @see java.io.SequenceInputStream 51 * @see java.util.Enumeration#nextElement() 52 * @see java.util.Hashtable 53 * @see java.util.Hashtable#elements() 54 * @see java.util.Hashtable#keys() 55 * @see java.util.Vector 56 * @see java.util.Vector#elements() 57 * 58 * @author Lee Boynton 59 * @since JDK1.0 60 */ 61 public interface Enumeration<E> { 62 /** 63 * Tests if this enumeration contains more elements. 64 * 65 * @return <code>true</code> if and only if this enumeration object 66 * contains at least one more element to provide; 67 * <code>false</code> otherwise. 68 */ hasMoreElements()69 boolean hasMoreElements(); 70 71 /** 72 * Returns the next element of this enumeration if this enumeration 73 * object has at least one more element to provide. 74 * 75 * @return the next element of this enumeration. 76 * @exception NoSuchElementException if no more elements exist. 77 */ nextElement()78 E nextElement(); 79 } 80