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
52
53
54 @Tag(name="area", bodyContent=BodyContent.EMPTY)
55
56 public class AreaTag extends AbstractTag<AreaElement> {
57
58
59 private Object area;
60 private String name;
61 private String components;
62 private String dialog;
63 private String type;
64 private Object contextAttributes;
65 private Boolean editable;
66
67
68
69 @Attribute(required=false, rtexprvalue=true)
70 public void setEditable(Boolean editable) {
71 this.editable = editable;
72 }
73
74 @Attribute(required=false, rtexprvalue=true)
75 public void setArea(Object area) {
76 this.area = area;
77 }
78
79 @Attribute(required=true, rtexprvalue=true)
80 public void setName(String name) {
81 this.name = name;
82 }
83
84 @Attribute(required=false, rtexprvalue=true)
85
86
87 public void setComponents(String components) {
88 this.components = components;
89 }
90
91 @Attribute(required=false, rtexprvalue=true)
92 public void setDialog(String dialog) {
93 this.dialog = dialog;
94 }
95
96 @Attribute(required=false, rtexprvalue=true)
97 public void setType(String type) {
98 this.type = type;
99 }
100
101 @Attribute(required=false, rtexprvalue=true)
102 public void setContextAttributes(Object contextAttributes) {
103 this.contextAttributes = contextAttributes;
104 }
105
106 @Override
107 protected void prepareTemplatingElement(AreaElement templatingElement) throws JspException{
108 initContentElement(templatingElement);
109
110 Map<String,Object> contextAttributes = mapConvertor(this.contextAttributes, "contextAttributes",false);
111 templatingElement.setArea((AreaDefinition)area);
112 templatingElement.setName(name);
113 templatingElement.setAvailableComponents(components);
114 templatingElement.setDialog(dialog);
115 templatingElement.setType(type);
116 templatingElement.setContextAttributes(contextAttributes);
117 templatingElement.setEditable(editable);
118 }
119
120 }