Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
IteratorEnumeration |
|
| 1.7142857142857142;1.714 |
1 | /* | |
2 | * $Id: IteratorEnumeration.java 358692 2005-12-23 03:37:26Z niallp $ | |
3 | * $Revision: 358692 $ | |
4 | * $Date: 2005-12-23 03:37:26 +0000 (Fri, 23 Dec 2005) $ | |
5 | * | |
6 | * ==================================================================== | |
7 | * | |
8 | * Copyright 2005 The Apache Software Foundation | |
9 | * | |
10 | * Licensed under the Apache License, Version 2.0 (the "License"); | |
11 | * you may not use this file except in compliance with the License. | |
12 | * You may obtain a copy of the License at | |
13 | * | |
14 | * http://www.apache.org/licenses/LICENSE-2.0 | |
15 | * | |
16 | * Unless required by applicable law or agreed to in writing, software | |
17 | * distributed under the License is distributed on an "AS IS" BASIS, | |
18 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
19 | * See the License for the specific language governing permissions and | |
20 | * limitations under the License. | |
21 | * | |
22 | */ | |
23 | ||
24 | package org.apache.commons.resources.util; | |
25 | ||
26 | import java.util.Enumeration; | |
27 | import java.util.Iterator; | |
28 | ||
29 | /** | |
30 | * Two way Adaptor class for java.util.Iterator and java.util.Enumeration. | |
31 | */ | |
32 | public class IteratorEnumeration implements Iterator, Enumeration { | |
33 | ||
34 | private Iterator iterator; | |
35 | private Enumeration enumeration; | |
36 | ||
37 | // -------------------------- Constructors | |
38 | ||
39 | /** | |
40 | * Construct an instance which wraps an Iterator. | |
41 | * | |
42 | * @param iterator The <code>Iterator</code> to wrap. | |
43 | */ | |
44 | 0 | public IteratorEnumeration(Iterator iterator) { |
45 | 0 | this.iterator = iterator; |
46 | 0 | } |
47 | ||
48 | /** | |
49 | * Construct an instance which wraps an Enumeration. | |
50 | * | |
51 | * @param enumeration The <code>Enumeration</code> to wrap. | |
52 | */ | |
53 | 0 | public IteratorEnumeration(Enumeration enumeration) { |
54 | 0 | this.enumeration = enumeration; |
55 | 0 | } |
56 | ||
57 | // -------------------------- Iterator Methods | |
58 | ||
59 | /** | |
60 | * <code>remove()<code> is not supported. | |
61 | * @throws UnsupportedOperationException always. | |
62 | */ | |
63 | public void remove() { | |
64 | 0 | throw new UnsupportedOperationException(); |
65 | } | |
66 | ||
67 | /** | |
68 | * Indicates whether the wrapped | |
69 | * <code>Iterator/Enumeration</code> has more elements. | |
70 | * | |
71 | * @return <code>true</code> if the wrapped | |
72 | * <code>Iterator/Enumeration</code> has more elements. | |
73 | */ | |
74 | public boolean hasNext() { | |
75 | 0 | if (iterator == null) { |
76 | 0 | return enumeration.hasMoreElements(); |
77 | } else { | |
78 | 0 | return iterator.hasNext(); |
79 | } | |
80 | } | |
81 | ||
82 | /** | |
83 | * Returns the next element in the wrapped | |
84 | * <code>Iterator/Enumeration</code>. | |
85 | * | |
86 | * @return the next element. | |
87 | */ | |
88 | public Object next() { | |
89 | 0 | if (iterator == null) { |
90 | 0 | return enumeration.nextElement(); |
91 | } else { | |
92 | 0 | return iterator.next(); |
93 | } | |
94 | } | |
95 | ||
96 | // -------------------------- Enumeration Methods | |
97 | ||
98 | /** | |
99 | * Indicates whether the wrapped | |
100 | * <code>Iterator/Enumeration</code> has more elements. | |
101 | * | |
102 | * @return <code>true</code> if the wrapped | |
103 | * <code>Iterator/Enumeration</code> has more elements. | |
104 | */ | |
105 | public boolean hasMoreElements() { | |
106 | 0 | return hasNext(); |
107 | } | |
108 | ||
109 | /** | |
110 | * Returns the next element in the wrapped | |
111 | * <code>Iterator/Enumeration</code>. | |
112 | * | |
113 | * @return the next element. | |
114 | */ | |
115 | public Object nextElement() { | |
116 | 0 | return next(); |
117 | } | |
118 | ||
119 | } |