1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.view.facelets.tag.jstl.core;
20
21 import java.io.Serializable;
22 import java.util.ArrayList;
23 import java.util.Iterator;
24 import java.util.List;
25
26
27
28
29 public class IterationState implements Serializable
30 {
31
32
33
34
35
36 private int counter;
37
38 private List<Object[]> valueList;
39
40 public IterationState()
41 {
42 this.valueList = new ArrayList<Object[]>();
43 }
44
45
46
47
48 public List<Object[]> getValueList()
49 {
50 return valueList;
51 }
52
53
54
55
56 public void setValueList(List<Object[]> valueList)
57 {
58 this.valueList = valueList;
59 }
60
61
62
63
64 public int getCounter()
65 {
66 return counter;
67 }
68
69
70
71
72 public void setCounter(int counter)
73 {
74 this.counter = counter;
75 }
76
77 public Iterator getIterator()
78 {
79 return new IteratorWrapper(valueList.iterator());
80 }
81
82 private static class IteratorWrapper implements Iterator
83 {
84 private Iterator<Object[]> delegate;
85
86 public IteratorWrapper(Iterator<Object[]> delegate)
87 {
88 this.delegate = delegate;
89 }
90
91 @Override
92 public boolean hasNext()
93 {
94 return delegate.hasNext();
95 }
96
97 @Override
98 public Object next()
99 {
100 return delegate.next()[1];
101 }
102
103 @Override
104 public void remove()
105 {
106 delegate.remove();
107 }
108 }
109 }