1 package org.rcfaces.core.component;
2
3 import org.rcfaces.core.internal.component.Properties;
4 import java.util.Map;
5 import java.lang.Object;
6 import java.util.Collections;
7 import org.apache.commons.logging.LogFactory;
8 import java.lang.String;
9 import org.rcfaces.core.component.capability.IPropertyChangeEventCapability;
10 import javax.faces.context.FacesContext;
11 import org.rcfaces.core.internal.component.IDataMapAccessor;
12 import org.rcfaces.core.internal.Constants;
13 import org.rcfaces.core.component.capability.IErrorEventCapability;
14 import org.rcfaces.core.component.capability.IServerDataCapability;
15 import org.rcfaces.core.internal.component.CameliaBaseComponent;
16 import javax.el.ValueExpression;
17 import java.util.HashSet;
18 import org.apache.commons.logging.Log;
19 import org.rcfaces.core.component.capability.IClientDataCapability;
20 import java.util.Set;
21 import java.util.Arrays;
22 import org.rcfaces.core.internal.tools.ComponentTools;
23
24 public class ViewErrorListenerComponent extends CameliaBaseComponent implements
25 IClientDataCapability,
26 IServerDataCapability,
27 IPropertyChangeEventCapability,
28 IErrorEventCapability {
29
30 private static final Log LOG = LogFactory.getLog(ViewErrorListenerComponent.class);
31
32 public static final String COMPONENT_TYPE="org.rcfaces.core.viewErrorListener";
33
34 protected static final Set CAMELIA_ATTRIBUTES=new HashSet(CameliaBaseComponent.CAMELIA_ATTRIBUTES);
35 static {
36 CAMELIA_ATTRIBUTES.addAll(Arrays.asList(new String[] {"errorListener","propertyChangeListener"}));
37 }
38
39 public ViewErrorListenerComponent() {
40 setRendererType(COMPONENT_TYPE);
41 }
42
43 public ViewErrorListenerComponent(String componentId) {
44 this();
45 setId(componentId);
46 }
47
48 public String getClientData(String name, FacesContext facesContext) {
49
50
51 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", false);
52 if (dataMapAccessor==null) {
53 return null;
54 }
55
56 return (String)dataMapAccessor.getData(name, facesContext);
57
58 }
59
60 public Object getServerData(String name, FacesContext facesContext) {
61
62
63 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
64 if (dataMapAccessor==null) {
65 return null;
66 }
67
68 return dataMapAccessor.getData(name, facesContext);
69
70 }
71
72 public Map getClientDataMap(FacesContext facesContext) {
73
74
75 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(facesContext, "clientData", false);
76 if (dataMapAccessor==null) {
77 return Collections.EMPTY_MAP;
78 }
79
80 return dataMapAccessor.getDataMap(facesContext);
81
82 }
83
84 public Map getServerDataMap(FacesContext facesContext) {
85
86
87 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(facesContext, "serverData", false);
88 if (dataMapAccessor==null) {
89 return Collections.EMPTY_MAP;
90 }
91
92 Map map=dataMapAccessor.getDataMap(facesContext);
93 if (Constants.READ_ONLY_COLLECTION_LOCK_ENABLED) {
94 if (map.isEmpty()) {
95 return Collections.EMPTY_MAP;
96 }
97 map=Collections.unmodifiableMap(map);
98 }
99 return map;
100
101 }
102
103 public String[] listClientDataKeys(FacesContext facesContext) {
104
105
106 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", false);
107 if (dataMapAccessor==null) {
108 return ComponentTools.STRING_EMPTY_ARRAY;
109 }
110
111 return dataMapAccessor.listDataKeys(facesContext);
112
113 }
114
115 public String[] listServerDataKeys(FacesContext facesContext) {
116
117
118 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
119 if (dataMapAccessor==null) {
120 return ComponentTools.STRING_EMPTY_ARRAY;
121 }
122
123 return dataMapAccessor.listDataKeys(facesContext);
124
125 }
126
127 public int getClientDataCount() {
128
129
130 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", false);
131 if (dataMapAccessor==null) {
132 return 0;
133 }
134
135 return dataMapAccessor.getDataCount();
136
137 }
138
139 public String[] listClientDataKeys() {
140
141
142 return listClientDataKeys(null);
143
144 }
145
146 public String removeClientData(String name) {
147
148
149 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", false);
150 if (dataMapAccessor==null) {
151 return null;
152 }
153
154 return (String)dataMapAccessor.removeData(name, null);
155
156 }
157
158 public String setClientData(String name, String value) {
159
160
161 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", true);
162
163 return (String)dataMapAccessor.setData(name, value, null);
164
165 }
166
167 public String getClientData(String name) {
168
169
170 return getClientData(name, null);
171
172 }
173
174 public Map getClientDataMap() {
175
176
177 return getClientDataMap(null);
178
179 }
180
181 public String[] listServerDataKeys() {
182
183
184 return listServerDataKeys(null);
185
186 }
187
188 public Object setServerData(String name, Object value) {
189
190
191 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", true);
192
193 return dataMapAccessor.setData(name, value, null);
194
195 }
196
197 public Map getServerDataMap() {
198
199
200 return getServerDataMap(null);
201
202 }
203
204 public int getServerDataCount() {
205
206
207 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
208 if (dataMapAccessor==null) {
209 return 0;
210 }
211
212 return dataMapAccessor.getDataCount();
213
214 }
215
216 public Object getServerData(String name) {
217
218
219 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
220 if (dataMapAccessor==null) {
221 return null;
222 }
223
224 return dataMapAccessor.getData(name, null);
225
226 }
227
228 public Object removeServerData(String name) {
229
230
231 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
232 if (dataMapAccessor==null) {
233 return null;
234 }
235
236 return dataMapAccessor.removeData(name, null);
237
238 }
239
240 public final void addPropertyChangeListener(org.rcfaces.core.event.IPropertyChangeListener listener) {
241 addFacesListener(listener);
242 }
243
244 public final void removePropertyChangeListener(org.rcfaces.core.event.IPropertyChangeListener listener) {
245 removeFacesListener(listener);
246 }
247
248 public final javax.faces.event.FacesListener [] listPropertyChangeListeners() {
249 return getFacesListeners(org.rcfaces.core.event.IPropertyChangeListener.class);
250 }
251
252 public final void addErrorListener(org.rcfaces.core.event.IErrorListener listener) {
253 addFacesListener(listener);
254 }
255
256 public final void removeErrorListener(org.rcfaces.core.event.IErrorListener listener) {
257 removeFacesListener(listener);
258 }
259
260 public final javax.faces.event.FacesListener [] listErrorListeners() {
261 return getFacesListeners(org.rcfaces.core.event.IErrorListener.class);
262 }
263
264 protected Set getCameliaFields() {
265 return CAMELIA_ATTRIBUTES;
266 }
267 }