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 org.rcfaces.core.component.ToolBarComponent;
11 import org.rcfaces.core.component.ToolFolderComponent;
12 import org.rcfaces.core.component.ToolItemComponent;
13 import org.rcfaces.core.component.iterator.IToolFolderIterator;
14 import org.rcfaces.core.component.iterator.IToolItemIterator;
15 import org.rcfaces.core.internal.util.ComponentIterators;
16
17
18
19
20
21 public class ToolBarTools {
22 private static final String REVISION = "$Revision: 1.18 $";
23
24 private static final IToolItemIterator EMPTY_TOOL_ITEM_ITERATOR = new ToolItemListIterator(
25 Collections.EMPTY_LIST);
26
27 private static final IToolFolderIterator EMPTY_TOOL_FOLDER_ITERATOR = new ToolFolderListIterator(
28 Collections.EMPTY_LIST);
29
30 public static IToolItemIterator listToolItems(ToolFolderComponent component) {
31 List list = ComponentIterators.list(component, ToolItemComponent.class);
32 if (list.isEmpty()) {
33 return EMPTY_TOOL_ITEM_ITERATOR;
34 }
35
36 return new ToolItemListIterator(list);
37 }
38
39 public static IToolFolderIterator listToolFolders(ToolBarComponent component) {
40 List list = ComponentIterators.list(component,
41 ToolFolderComponent.class);
42 if (list.isEmpty()) {
43 return EMPTY_TOOL_FOLDER_ITERATOR;
44 }
45
46 return new ToolFolderListIterator(list);
47 }
48
49
50
51
52
53
54 private static final class ToolItemListIterator extends
55 ComponentIterators.ComponentListIterator implements
56 IToolItemIterator {
57 private static final String REVISION = "$Revision: 1.18 $";
58
59 public ToolItemListIterator(List list) {
60 super(list);
61 }
62
63 public final ToolItemComponent next() {
64 return (ToolItemComponent) nextComponent();
65 }
66
67 public ToolItemComponent[] toArray() {
68 return (ToolItemComponent[]) toArray(new ToolItemComponent[count()]);
69 }
70 }
71
72
73
74
75
76
77 private static final class ToolFolderListIterator extends
78 ComponentIterators.ComponentListIterator implements
79 IToolFolderIterator {
80 private static final String REVISION = "$Revision: 1.18 $";
81
82 public ToolFolderListIterator(List list) {
83 super(list);
84 }
85
86 public final ToolFolderComponent next() {
87 return (ToolFolderComponent) nextComponent();
88 }
89
90 public ToolFolderComponent[] toArray() {
91 return (ToolFolderComponent[]) toArray(new ToolFolderComponent[count()]);
92 }
93 }
94
95 }