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