KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > Ostermiller > util > ArrayEnumeration


1 /*
2  * Converts an array to an enumerator.
3  * Copyright (C) 2004 Stephen Ostermiller
4  * http://ostermiller.org/contact.pl?regarding=Java+Utilities
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * See COPYING.TXT for details.
17  */

18
19 package com.Ostermiller.util;
20
21 import java.util.*;
22
23 /**
24  * Converts an array to an enumerator.
25  * <p>
26  * More information about this class is available from <a target="_top" HREF=
27  * "http://ostermiller.org/utils/Iterator_Enumeration.html">ostermiller.org</a>.
28  *
29  * @author Stephen Ostermiller http://ostermiller.org/contact.pl?regarding=Java+Utilities
30  * @since ostermillerutils 1.03.00
31  */

32 public class ArrayEnumeration <ElementType> implements Enumeration {
33
34     /**
35      * Array being converted to enumeration.
36      */

37     private ElementType[] array;
38
39     /**
40      * Current index into the array.
41      */

42     private int index = 0;
43
44     /**
45      * Create an Enumeration from an Array.
46      *
47      * @param array of objects on which to enumerate.
48      *
49      * @since ostermillerutils 1.03.00
50      */

51     public ArrayEnumeration(ElementType[] array){
52         this.array = array;
53     }
54
55     /**
56      * Tests if this enumeration contains more elements.
57      *
58      * @return true if and only if this enumeration object contains at least
59      * one more element to provide; false otherwise.
60      *
61      * @since ostermillerutils 1.03.00
62      */

63     public boolean hasMoreElements(){
64         return (index < array.length);
65     }
66
67     /**
68      * Returns the next element of this enumeration if this enumeration
69      * object has at least one more element to provide.
70      *
71      * @return the next element of this enumeration.
72      * @throws NoSuchElementException if no more elements exist.
73      *
74      * @since ostermillerutils 1.03.00
75      */

76     public ElementType nextElement() throws NoSuchElementException {
77         if (index >= array.length) throw new NoSuchElementException("Array index: " + index);
78         ElementType object = array[index];
79         index++;
80         return object;
81     }
82 }
Popular Tags