View Javadoc

1   /*
2    * $Id: IteratorAdapter.java 421119 2006-07-12 04:49:11Z wsmoak $
3    *
4    * Copyright 2002-2004 The Apache Software Foundation.
5    *
6    * Licensed under the Apache License, Version 2.0 (the "License");
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10   *      http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  package org.apache.struts.util;
19  
20  import java.util.Enumeration;
21  import java.util.Iterator;
22  import java.util.NoSuchElementException;
23  
24  /***
25   * Utility method for converting Enumeration to an Iterator class.  If you
26   * attempt to remove() an Object from the iterator, it will throw an
27   * UnsupportedOperationException. Added for use by TagLib so Enumeration can
28   * be supported
29   *
30   * @version $Rev: 421119 $ $Date: 2005-05-07 12:11:38 -0400 (Sat, 07 May 2005)
31   *          $
32   */
33  public class IteratorAdapter implements Iterator {
34      private Enumeration e;
35  
36      public IteratorAdapter(Enumeration e) {
37          this.e = e;
38      }
39  
40      public boolean hasNext() {
41          return e.hasMoreElements();
42      }
43  
44      public Object next() {
45          if (!e.hasMoreElements()) {
46              throw new NoSuchElementException(
47                  "IteratorAdaptor.next() has no more elements");
48          }
49  
50          return e.nextElement();
51      }
52  
53      public void remove() {
54          throw new UnsupportedOperationException(
55              "Method IteratorAdaptor.remove() not implemented");
56      }
57  }