View Javadoc

1   /*
2    * $Id: ParameterTools.java,v 1.1 2006/12/08 17:26:06 oeuillot Exp $
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   * @author Olivier Oeuillot (latest modification by $Author: oeuillot $)
18   * @version $Revision: 1.1 $ $Date: 2006/12/08 17:26:06 $
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       * @author Olivier Oeuillot (latest modification by $Author: oeuillot $)
38       * @version $Revision: 1.1 $ $Date: 2006/12/08 17:26:06 $
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  }