View Javadoc

1   /*
2    * $Id: TabbedPaneTools.java,v 1.18 2011/06/16 09:29:41 jbmeslin Exp $
3    * 
4    */
5   package org.rcfaces.core.internal.tools;
6   
7   import java.util.Collections;
8   import java.util.List;
9   
10  import org.rcfaces.core.component.TabComponent;
11  import org.rcfaces.core.component.TabbedPaneComponent;
12  import org.rcfaces.core.component.iterator.ITabIterator;
13  import org.rcfaces.core.internal.util.ComponentIterators;
14  
15  /**
16   * 
17   * @author Olivier Oeuillot (latest modification by $Author: jbmeslin $)
18   * @version $Revision: 1.18 $ $Date: 2011/06/16 09:29:41 $
19   */
20  public class TabbedPaneTools extends CardBoxTools {
21      private static final String REVISION = "$Revision: 1.18 $";
22  
23      private static final ITabIterator EMPTY_COMPONENT_ITERATOR = new TabListIterator(
24              Collections.EMPTY_LIST);
25  
26      public static ITabIterator listTabs(TabbedPaneComponent component) {
27          List list = ComponentIterators.list(component, TabComponent.class);
28          if (list.isEmpty()) {
29              return EMPTY_COMPONENT_ITERATOR;
30          }
31  
32          return new TabListIterator(list);
33      }
34  
35      /**
36       * 
37       * @author Olivier Oeuillot (latest modification by $Author: jbmeslin $)
38       * @version $Revision: 1.18 $ $Date: 2011/06/16 09:29:41 $
39       */
40      private static final class TabListIterator extends
41              ComponentIterators.ComponentListIterator implements ITabIterator {
42          private static final String REVISION = "$Revision: 1.18 $";
43  
44          public TabListIterator(List list) {
45              super(list);
46          }
47  
48          public final TabComponent next() {
49              return (TabComponent) nextComponent();
50          }
51  
52          public TabComponent[] toArray() {
53              return (TabComponent[]) toArray(new TabComponent[count()]);
54          }
55      }
56  }