View Javadoc

1   ////////////////////////////////////////////////////////////////////////////////
2   // MillScript: an Open Spice interpreter and batch website creation tool
3   // Copyright (C) 2005 Kevin Rogers
4   //
5   // This file is part of MillScript.
6   //
7   // MillScript is free software; you can redistribute it and/or modify it under
8   // the terms of the GNU General Public License as published by the Free
9   // Software Foundation; either version 2 of the License, or (at your option)
10  // any later version.
11  //
12  // MillScript is distributed in the hope that it will be useful, but WITHOUT
13  // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15  // more details.
16  //
17  // You should have received a copy of the GNU General Public License along with
18  // MillScript; if not, write to the Free Software Foundation, Inc., 59 Temple
19  // Place, Suite 330, Boston, MA  02111-1307  USA
20  ////////////////////////////////////////////////////////////////////////////////
21  package org.millscript.millscript.tools;
22  
23  import java.util.Iterator;
24  import java.util.NoSuchElementException;
25  
26  /**
27   * This class implements an iterator which iterates over all the values in an
28   * array.
29   *
30   * @deprecated  As of MillScript 10.2.0, this functionallity has been subsumed
31   * by the MillScript-Util project and it's Map API, see
32   * {@link org.millscript.commons.util.iterator.ArrayListIterator}.
33   */
34  @Deprecated
35  public class ArrayIterator implements Iterator {
36  
37      /**
38       * The array this iterator is iterating over.
39       */
40      private final Object[] backingArray;
41  
42      /**
43       * The current position in the array we're iterating over. Note this holds
44       * the index of the value to be returned by a subsequent call to the next
45       * method.
46       */
47      private int pos = 0;
48  
49      /**
50       * Constructs a new array iterator to iterate over all the values in the
51       * specified array.
52       *
53       * @param array the array to iterate over
54       */
55      public ArrayIterator( final Object[] array ) {
56          this.backingArray = array;
57      }
58  
59      /**
60       * @see java.util.Iterator#remove()
61       */
62      public void remove() {
63          throw new UnsupportedOperationException( "ArrayIterator is immutable" );
64      }
65  
66      /**
67       * @see java.util.Iterator#hasNext()
68       */
69      public boolean hasNext() {
70          return pos < backingArray.length;
71      }
72  
73      /**
74       * @see java.util.Iterator#next()
75       */
76      public Object next() {
77          if ( pos < backingArray.length ) {
78              return this.backingArray[ pos++ ];
79          } else {
80              throw new NoSuchElementException( "ArrayIterator has no more elements" );
81          }
82      }
83  
84  }