1 | |
|
2 | |
|
3 | |
|
4 | |
|
5 | |
|
6 | |
|
7 | |
|
8 | |
|
9 | |
|
10 | |
|
11 | |
|
12 | |
|
13 | |
|
14 | |
|
15 | |
|
16 | |
package org.seasar.uruma.renderer; |
17 | |
|
18 | |
import java.util.HashMap; |
19 | |
import java.util.Map; |
20 | |
|
21 | |
import org.seasar.uruma.component.UIComponent; |
22 | |
import org.seasar.uruma.component.jface.BrowserComponent; |
23 | |
import org.seasar.uruma.component.jface.ButtonComponent; |
24 | |
import org.seasar.uruma.component.jface.CTabFolderComponent; |
25 | |
import org.seasar.uruma.component.jface.CTabItemComponent; |
26 | |
import org.seasar.uruma.component.jface.CanvasComponent; |
27 | |
import org.seasar.uruma.component.jface.ComboComponent; |
28 | |
import org.seasar.uruma.component.jface.CompositeComponent; |
29 | |
import org.seasar.uruma.component.jface.CoolBarComponent; |
30 | |
import org.seasar.uruma.component.jface.CoolItemComponent; |
31 | |
import org.seasar.uruma.component.jface.DateTimeComponent; |
32 | |
import org.seasar.uruma.component.jface.GroupComponent; |
33 | |
import org.seasar.uruma.component.jface.LabelComponent; |
34 | |
import org.seasar.uruma.component.jface.LinkComponent; |
35 | |
import org.seasar.uruma.component.jface.MenuComponent; |
36 | |
import org.seasar.uruma.component.jface.MenuItemComponent; |
37 | |
import org.seasar.uruma.component.jface.ProgressBarComponent; |
38 | |
import org.seasar.uruma.component.jface.SashFormComponent; |
39 | |
import org.seasar.uruma.component.jface.ScaleComponent; |
40 | |
import org.seasar.uruma.component.jface.SeparatorComponent; |
41 | |
import org.seasar.uruma.component.jface.SliderComponent; |
42 | |
import org.seasar.uruma.component.jface.SpinnerComponent; |
43 | |
import org.seasar.uruma.component.jface.TabFolderComponent; |
44 | |
import org.seasar.uruma.component.jface.TabItemComponent; |
45 | |
import org.seasar.uruma.component.jface.TableColumnComponent; |
46 | |
import org.seasar.uruma.component.jface.TableComponent; |
47 | |
import org.seasar.uruma.component.jface.TableItemComponent; |
48 | |
import org.seasar.uruma.component.jface.TextComponent; |
49 | |
import org.seasar.uruma.component.jface.ToolBarComponent; |
50 | |
import org.seasar.uruma.component.jface.ToolItemComponent; |
51 | |
import org.seasar.uruma.component.jface.TreeComponent; |
52 | |
import org.seasar.uruma.component.jface.TreeItemComponent; |
53 | |
import org.seasar.uruma.component.jface.WindowComponent; |
54 | |
import org.seasar.uruma.component.rcp.ViewPartComponent; |
55 | |
import org.seasar.uruma.component.rcp.WorkbenchComponent; |
56 | |
import org.seasar.uruma.core.UrumaMessageCodes; |
57 | |
import org.seasar.uruma.exception.NotFoundException; |
58 | |
import org.seasar.uruma.renderer.impl.BrowserRenderer; |
59 | |
import org.seasar.uruma.renderer.impl.ButtonRenderer; |
60 | |
import org.seasar.uruma.renderer.impl.CTabFolderRenderer; |
61 | |
import org.seasar.uruma.renderer.impl.CTabItemRenderer; |
62 | |
import org.seasar.uruma.renderer.impl.CanvasRenderer; |
63 | |
import org.seasar.uruma.renderer.impl.ComboViewerRenderer; |
64 | |
import org.seasar.uruma.renderer.impl.CompositeRenderer; |
65 | |
import org.seasar.uruma.renderer.impl.CoolBarRenderer; |
66 | |
import org.seasar.uruma.renderer.impl.CoolItemRenderer; |
67 | |
import org.seasar.uruma.renderer.impl.DateTimeRenderer; |
68 | |
import org.seasar.uruma.renderer.impl.GroupRenderer; |
69 | |
import org.seasar.uruma.renderer.impl.LabelRenderer; |
70 | |
import org.seasar.uruma.renderer.impl.LinkRenderer; |
71 | |
import org.seasar.uruma.renderer.impl.MenuItemRenderer; |
72 | |
import org.seasar.uruma.renderer.impl.MenuManagerRenderer; |
73 | |
import org.seasar.uruma.renderer.impl.NullRenderer; |
74 | |
import org.seasar.uruma.renderer.impl.ProgressBarRenderer; |
75 | |
import org.seasar.uruma.renderer.impl.SashFormRenderer; |
76 | |
import org.seasar.uruma.renderer.impl.ScaleRenderer; |
77 | |
import org.seasar.uruma.renderer.impl.SeparatorRenderer; |
78 | |
import org.seasar.uruma.renderer.impl.SliderRenderer; |
79 | |
import org.seasar.uruma.renderer.impl.SpinnerRenderer; |
80 | |
import org.seasar.uruma.renderer.impl.TabFolderRenderer; |
81 | |
import org.seasar.uruma.renderer.impl.TabItemRenderer; |
82 | |
import org.seasar.uruma.renderer.impl.TableColumnRenderer; |
83 | |
import org.seasar.uruma.renderer.impl.TableItemRenderer; |
84 | |
import org.seasar.uruma.renderer.impl.TableViewerRenderer; |
85 | |
import org.seasar.uruma.renderer.impl.TextRenderer; |
86 | |
import org.seasar.uruma.renderer.impl.ToolBarRenderer; |
87 | |
import org.seasar.uruma.renderer.impl.ToolItemRenderer; |
88 | |
import org.seasar.uruma.renderer.impl.TreeItemRenderer; |
89 | |
import org.seasar.uruma.renderer.impl.TreeViewerRenderer; |
90 | |
import org.seasar.uruma.renderer.impl.ViewPartRenderer; |
91 | |
import org.seasar.uruma.renderer.impl.WindowRenderer; |
92 | |
import org.seasar.uruma.util.AssertionUtil; |
93 | |
|
94 | |
|
95 | |
|
96 | |
|
97 | |
|
98 | |
|
99 | 0 | public class RendererFactory { |
100 | 4 | private static final Map<Class<? extends UIComponent>, Renderer> rendererMap = new HashMap<Class<? extends UIComponent>, Renderer>(); |
101 | |
|
102 | |
static { |
103 | 4 | addRenderer(WindowComponent.class, new WindowRenderer()); |
104 | 4 | addRenderer(ViewPartComponent.class, new ViewPartRenderer()); |
105 | |
|
106 | 4 | addRenderer(CompositeComponent.class, new CompositeRenderer()); |
107 | 4 | addRenderer(ComboComponent.class, new ComboViewerRenderer()); |
108 | 4 | addRenderer(TabFolderComponent.class, new TabFolderRenderer()); |
109 | 4 | addRenderer(TabItemComponent.class, new TabItemRenderer()); |
110 | 4 | addRenderer(TableComponent.class, new TableViewerRenderer()); |
111 | 4 | addRenderer(TableColumnComponent.class, new TableColumnRenderer()); |
112 | 4 | addRenderer(TableItemComponent.class, new TableItemRenderer()); |
113 | 4 | addRenderer(SpinnerComponent.class, new SpinnerRenderer()); |
114 | 4 | addRenderer(CTabFolderComponent.class, new CTabFolderRenderer()); |
115 | 4 | addRenderer(CTabItemComponent.class, new CTabItemRenderer()); |
116 | 4 | addRenderer(GroupComponent.class, new GroupRenderer()); |
117 | 4 | addRenderer(ToolBarComponent.class, new ToolBarRenderer()); |
118 | 4 | addRenderer(ToolItemComponent.class, new ToolItemRenderer()); |
119 | 4 | addRenderer(CoolBarComponent.class, new CoolBarRenderer()); |
120 | 4 | addRenderer(CoolItemComponent.class, new CoolItemRenderer()); |
121 | 4 | addRenderer(CanvasComponent.class, new CanvasRenderer()); |
122 | 4 | addRenderer(SashFormComponent.class, new SashFormRenderer()); |
123 | 4 | addRenderer(BrowserComponent.class, new BrowserRenderer()); |
124 | |
|
125 | 4 | addRenderer(TreeComponent.class, new TreeViewerRenderer()); |
126 | 4 | addRenderer(TreeItemComponent.class, new TreeItemRenderer()); |
127 | |
|
128 | 4 | addRenderer(ButtonComponent.class, new ButtonRenderer()); |
129 | 4 | addRenderer(LabelComponent.class, new LabelRenderer()); |
130 | 4 | addRenderer(TextComponent.class, new TextRenderer()); |
131 | 4 | addRenderer(ProgressBarComponent.class, new ProgressBarRenderer()); |
132 | 4 | addRenderer(ScaleComponent.class, new ScaleRenderer()); |
133 | 4 | addRenderer(SliderComponent.class, new SliderRenderer()); |
134 | 4 | addRenderer(LinkComponent.class, new LinkRenderer()); |
135 | |
|
136 | 4 | addRenderer(MenuComponent.class, new MenuManagerRenderer()); |
137 | 4 | addRenderer(MenuItemComponent.class, new MenuItemRenderer()); |
138 | 4 | addRenderer(SeparatorComponent.class, new SeparatorRenderer()); |
139 | 4 | addRenderer(DateTimeComponent.class, new DateTimeRenderer()); |
140 | |
|
141 | 4 | addRenderer(WorkbenchComponent.class, new NullRenderer()); |
142 | 4 | } |
143 | |
|
144 | |
|
145 | |
|
146 | |
|
147 | |
|
148 | |
|
149 | |
|
150 | |
|
151 | |
|
152 | |
|
153 | |
public static Renderer getRenderer( |
154 | |
final Class<? extends UIComponent> uiComponentClass) { |
155 | 1852 | Renderer renderer = rendererMap.get(uiComponentClass); |
156 | 1852 | if (renderer != null) { |
157 | 1852 | return renderer; |
158 | |
} else { |
159 | 0 | throw new NotFoundException(UrumaMessageCodes.RENDERER_NOT_FOUND, |
160 | |
uiComponentClass.getName()); |
161 | |
} |
162 | |
} |
163 | |
|
164 | |
|
165 | |
|
166 | |
|
167 | |
|
168 | |
|
169 | |
|
170 | |
|
171 | |
|
172 | |
public static void addRenderer( |
173 | |
final Class<? extends UIComponent> uiComponentClass, |
174 | |
final Renderer renderer) { |
175 | 136 | AssertionUtil.assertNotNull("uiComponentClass", uiComponentClass); |
176 | 136 | AssertionUtil.assertNotNull("renderer", renderer); |
177 | 136 | rendererMap.put(uiComponentClass, renderer); |
178 | 136 | } |
179 | |
} |