1
2
3
4
5 package org.rcfaces.core.internal.tools;
6
7 import java.util.Collections;
8 import java.util.List;
9
10 import javax.faces.component.UIComponent;
11 import javax.faces.component.UIParameter;
12
13 import org.rcfaces.core.component.iterator.IParameterIterator;
14 import org.rcfaces.core.internal.util.ComponentIterators;
15
16
17
18
19
20 public class ParameterTools {
21 private static final String REVISION = "$Revision: 1.1 $";
22
23 private static final IParameterIterator EMPTY_PARAMETER_ITERATOR = new ParameterListIterator(
24 Collections.EMPTY_LIST);
25
26 public static IParameterIterator listParameters(UIComponent component) {
27 List list = ComponentIterators.list(component, UIParameter.class);
28 if (list.isEmpty()) {
29 return EMPTY_PARAMETER_ITERATOR;
30 }
31
32 return new ParameterListIterator(list);
33 }
34
35
36
37
38
39
40 private static final class ParameterListIterator extends
41 ComponentIterators.ComponentListIterator implements
42 IParameterIterator {
43 private static final String REVISION = "$Revision: 1.1 $";
44
45 public ParameterListIterator(List list) {
46 super(list);
47 }
48
49 public final UIParameter next() {
50 return (UIParameter) nextComponent();
51 }
52
53 public UIParameter[] toArray() {
54 return (UIParameter[]) toArray(new UIParameter[count()]);
55 }
56 }
57 }