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 class _FacetsAndChildrenIterator implements Iterator<UIComponent>
27 {
28 private Iterator<UIComponent> _facetsIterator;
29 private Iterator<UIComponent> _childrenIterator;
30
31 _FacetsAndChildrenIterator(Map<String, UIComponent> facetMap, List<UIComponent> childrenList)
32 {
33 _facetsIterator = facetMap != null ? facetMap.values().iterator() : null;
34 _childrenIterator = childrenList != null ? childrenList.iterator() : null;
35 }
36
37 public boolean hasNext()
38 {
39 boolean hasNext = (_facetsIterator != null && _facetsIterator.hasNext())
40 || (_childrenIterator != null && _childrenIterator.hasNext());
41 if (!hasNext)
42 {
43 _facetsIterator = null;
44 _childrenIterator = null;
45 }
46
47 return hasNext;
48 }
49
50 public UIComponent next()
51 {
52 if (_facetsIterator != null && _facetsIterator.hasNext())
53 {
54 return _facetsIterator.next();
55 }
56 else if (_childrenIterator != null && _childrenIterator.hasNext())
57 {
58 return _childrenIterator.next();
59 }
60 else
61 {
62 throw new NoSuchElementException();
63 }
64 }
65
66 public void remove()
67 {
68 throw new UnsupportedOperationException(this.getClass().getName() + " UnsupportedOperationException");
69 }
70 }