1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.uruma.rcp.configuration.extension;
17
18 import java.util.List;
19
20 import org.seasar.uruma.component.Template;
21 import org.seasar.uruma.component.rcp.ViewPartComponent;
22 import org.seasar.uruma.core.TemplateManager;
23 import org.seasar.uruma.rcp.configuration.Extension;
24 import org.seasar.uruma.rcp.configuration.ExtensionBuilder;
25 import org.seasar.uruma.rcp.configuration.ExtensionFactory;
26 import org.seasar.uruma.rcp.configuration.ExtensionPoints;
27 import org.seasar.uruma.rcp.configuration.elements.ViewElement;
28
29
30
31
32
33
34 public class ViewsBuilder extends AbstractExtensionBuilder {
35
36
37
38
39 public Extension[] buildExtension() {
40 TemplateManager templateManager = (TemplateManager) service
41 .getContainer().getComponent(TemplateManager.class);
42 List<Template> viewTemplates = templateManager
43 .getTemplates(ViewPartComponent.class);
44
45 Extension extension = ExtensionFactory
46 .createExtension(ExtensionPoints.VIEWS);
47 for (Template template : viewTemplates) {
48 ViewPartComponent component = (ViewPartComponent) template
49 .getRootComponent();
50 ViewElement element = new ViewElement(component);
51 extension.addElement(element);
52 }
53
54 return new Extension[] { extension };
55 }
56 }