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.ui.vaadin.gwt.client.editor.dom;
35
36 import info.magnolia.ui.vaadin.gwt.client.shared.AbstractElement;
37 import info.magnolia.ui.vaadin.gwt.client.widget.controlbar.AbstractBar;
38
39 import java.util.Map;
40
41 import com.google.gwt.dom.client.Element;
42
43
44
45
46
47
48
49 public abstract class MgnlElement extends CmsNode {
50
51 protected static final String ACTIVATION_STATUS_KEY = "activationStatus";
52
53 private Map<String, String> attributes;
54
55 private Element startComment;
56 private Element endComment;
57
58 private Element firstElement;
59 private Element lastElement;
60
61 private Element editElement;
62 private AbstractBar controlBar;
63
64
65
66
67 public MgnlElement(MgnlElement parent) {
68 super(parent);
69 }
70
71 public void setAttributes(Map<String, String> attributes) {
72 this.attributes = attributes;
73 }
74
75 public Map<String, String> getAttributes() {
76 return this.attributes;
77 }
78
79 protected AbstractBar getControlBar() {
80 return controlBar;
81 }
82
83 public void setControlBar(AbstractBar controlBar) {
84 this.controlBar = controlBar;
85 }
86
87 public Element getFirstElement() {
88 return firstElement;
89 }
90
91 public void setFirstElement(Element firstElement) {
92 this.firstElement = firstElement;
93 }
94
95 public Element getLastElement() {
96 return lastElement;
97 }
98
99 public void setLastElement(Element lastElement) {
100 this.lastElement = lastElement;
101 }
102
103 public void setEditElement(Element editElement) {
104 this.editElement = editElement;
105 }
106
107 public Element getEditElement() {
108 return editElement;
109 }
110
111 public String getAttribute(String key) {
112 return this.attributes.get(key);
113 }
114
115 public boolean containsAttribute(String key) {
116 return this.attributes.containsKey(key);
117 }
118
119 public boolean isInherited() {
120 return Boolean.parseBoolean(getAttribute("inherited")) || (getParent() != null && ((MgnlElement) getParent()).isInherited());
121 }
122
123 public Element getStartComment() {
124 return startComment;
125 }
126
127 public Element getEndComment() {
128 return this.endComment;
129 }
130
131 public void setStartComment(Element element) {
132 this.startComment = element;
133 }
134
135 public void setEndComment(Element element) {
136 this.endComment = element;
137 }
138
139 public abstract AbstractElement getTypedElement();
140
141 public boolean isPage() {
142 return this instanceof MgnlPage;
143 }
144
145 public boolean isArea() {
146 return this instanceof MgnlArea;
147 }
148
149 public boolean isComponent() {
150 return this instanceof MgnlComponent;
151 }
152 }