1 /*==================================================================== 2 3 ObjectWeb Util CommandLine Package. 4 Copyright (C) 2002 INRIA & USTL - LIFL - GOAL 5 Contact: architecture@objectweb.org 6 7 This library is free software; you can redistribute it and/or 8 modify it under the terms of the GNU Lesser General Public 9 License as published by the Free Software Foundation; either 10 version 2.1 of the License, or any later version. 11 12 This library is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 Lesser General Public License for more details. 16 17 You should have received a copy of the GNU Lesser General Public 18 License along with this library; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 20 USA 21 22 Initial developer(s): Philippe Merle. 23 Contributor(s): ______________________________________. 24 25 ====================================================================*/ 26 27 package org.objectweb.util.cmdline.api; 28 29 /** 30 * This interface provides an iterator on command line arguments. 31 * 32 * This provides the following properties: 33 * 34 * - CommandLine: The associated command line. 35 * 36 * - Current: The current command line argument. 37 * 38 * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a> 39 * 40 * @version 0.1 41 */ 42 43 public interface Iterator 44 extends CommandLineHolder 45 { 46 /** 47 * Gets the current argument. 48 * 49 * @return The current argument in the iteration. 50 */ 51 public String 52 getCurrent(); 53 54 /** 55 * Indicates if the iterator has more arguments. 56 * 57 * @return true if the iteration has more arguments. 58 * (In other words, returns true if next would return an 59 * argument rather than throwing an exception.) 60 */ 61 public boolean 62 hasNext(); 63 64 /** 65 * Obtains the next argument in the iteration. 66 * 67 * @return The next argument in the iteration. 68 * 69 * @exception java.util.NoSuchElementException 70 * Thrown when iteration has no more arguments. 71 */ 72 public String 73 next(); 74 75 /** 76 * Remove from the underlying collection the last argument 77 * returned by the iterator. 78 */ 79 public void 80 remove(); 81 } 82