1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package javax.faces.component;
20
21 import java.util.Iterator;
22 import java.util.List;
23 import java.util.Map;
24 import java.util.NoSuchElementException;
25
26
27
28
29
30 class _FacetsAndChildrenIterator<E>
31 implements Iterator
32 {
33 private Iterator<UIComponent> _facetsIterator;
34 private Iterator<UIComponent> _childrenIterator;
35
36 _FacetsAndChildrenIterator(Map facetMap, List childrenList)
37 {
38 _facetsIterator = facetMap != null ? facetMap.values().iterator() : null;
39 _childrenIterator = childrenList != null ? childrenList.iterator() : null;
40 }
41
42 public boolean hasNext()
43 {
44 boolean hasNext = (_facetsIterator != null && _facetsIterator.hasNext()) ||
45 (_childrenIterator != null && _childrenIterator.hasNext());
46 if (!hasNext)
47 {
48 _facetsIterator = null;
49 _childrenIterator = null;
50 }
51 return hasNext;
52 }
53
54 public Object next()
55 {
56 if (_facetsIterator != null && _facetsIterator.hasNext())
57 {
58 return _facetsIterator.next();
59 }
60 else if (_childrenIterator != null && _childrenIterator.hasNext())
61 {
62 return _childrenIterator.next();
63 }
64 else
65 {
66 throw new NoSuchElementException();
67 }
68 }
69
70 public void remove()
71 {
72 throw new UnsupportedOperationException(this.getClass().getName() + " UnsupportedOperationException");
73 }
74
75 }