1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.templating.jsp.cms;
35
36 import info.magnolia.rendering.template.AreaDefinition;
37 import info.magnolia.templating.elements.AreaElement;
38
39 import java.util.Map;
40
41 import javax.servlet.jsp.JspException;
42
43 import org.tldgen.annotations.Attribute;
44 import org.tldgen.annotations.BodyContent;
45 import org.tldgen.annotations.Tag;
46
47
48
49
50
51 @Tag(name="area", bodyContent=BodyContent.EMPTY)
52
53 public class AreaTag extends AbstractTag<AreaElement> {
54
55
56 private Object area;
57 private String name;
58 private String components;
59 private String dialog;
60 private String type;
61 private Object contextAttributes;
62 private Boolean editable;
63 private Boolean createAreaNode;
64
65 @Attribute(required=false, rtexprvalue=true)
66 public void setEditable(Boolean editable) {
67 this.editable = editable;
68 }
69
70 @Attribute(required=false, rtexprvalue=true)
71 public void setArea(Object area) {
72 this.area = area;
73 }
74
75 @Attribute(required=true, rtexprvalue=true)
76 public void setName(String name) {
77 this.name = name;
78 }
79
80 @Attribute(required=false, rtexprvalue=true)
81 public void setComponents(String components) {
82 this.components = components;
83 }
84
85 @Attribute(required=false, rtexprvalue=true)
86 public void setDialog(String dialog) {
87 this.dialog = dialog;
88 }
89
90 @Attribute(required=false, rtexprvalue=true)
91 public void setType(String type) {
92 this.type = type;
93 }
94
95 @Attribute(required=false, rtexprvalue=true)
96 public void setContextAttributes(Object contextAttributes) {
97 this.contextAttributes = contextAttributes;
98 }
99
100 @Attribute(required=false, rtexprvalue=true)
101 public void setCreateAreaNode(Boolean createAreaNode) {
102 this.createAreaNode = createAreaNode;
103 }
104
105 @Override
106 protected void prepareTemplatingElement(AreaElement templatingElement) throws JspException{
107 initContentElement(templatingElement);
108
109 Map<String,Object> contextAttributes = mapConvertor(this.contextAttributes, "contextAttributes",false);
110 templatingElement.setArea((AreaDefinition)area);
111 templatingElement.setName(name);
112 templatingElement.setAvailableComponents(components);
113 templatingElement.setDialog(dialog);
114 templatingElement.setType(type);
115 templatingElement.setContextAttributes(contextAttributes);
116 templatingElement.setEditable(editable);
117 templatingElement.setCreateAreaNode(createAreaNode);
118 }
119
120 }