View Javadoc

1   package org.rcfaces.core.component;
2   
3   import org.rcfaces.core.internal.component.Properties;
4   import org.rcfaces.core.component.capability.ILayoutPositionCapability;
5   import org.rcfaces.core.component.capability.IUserEventCapability;
6   import org.rcfaces.core.component.capability.IAccessKeyCapability;
7   import javax.faces.context.FacesContext;
8   import org.rcfaces.core.internal.tools.MarginTools;
9   import org.rcfaces.core.component.capability.IServerDataCapability;
10  import org.rcfaces.core.internal.component.CameliaBaseComponent;
11  import org.rcfaces.core.component.capability.IInitEventCapability;
12  import org.rcfaces.core.component.capability.IFontCapability;
13  import org.rcfaces.core.internal.tools.ComponentTools;
14  import java.lang.Object;
15  import org.rcfaces.core.component.capability.IPartialRenderingCapability;
16  import org.rcfaces.core.component.capability.IForegroundBackgroundColorCapability;
17  import org.rcfaces.core.component.capability.IWAIRoleCapability;
18  import org.rcfaces.core.component.capability.IPropertyChangeEventCapability;
19  import org.rcfaces.core.internal.manager.IServerDataManager;
20  import org.rcfaces.core.component.capability.IDisabledCapability;
21  import org.rcfaces.core.component.capability.ISizeCapability;
22  import org.rcfaces.core.component.capability.IStyleClassCapability;
23  import java.util.Arrays;
24  import org.rcfaces.core.internal.converter.HiddenModeConverter;
25  import org.rcfaces.core.component.capability.IMarginCapability;
26  import org.rcfaces.core.component.capability.IVisibilityCapability;
27  import java.util.Map;
28  import org.apache.commons.logging.LogFactory;
29  import java.util.Collections;
30  import org.rcfaces.core.internal.manager.IClientDataManager;
31  import org.rcfaces.core.component.capability.IValidationEventCapability;
32  import org.rcfaces.core.component.capability.IImmediateCapability;
33  import org.rcfaces.core.internal.Constants;
34  import org.apache.commons.logging.Log;
35  import java.util.Set;
36  import org.rcfaces.core.component.capability.IFocusBlurEventCapability;
37  import org.rcfaces.core.component.capability.IPositionCapability;
38  import org.rcfaces.core.component.capability.IUnlockedClientAttributesCapability;
39  import java.lang.String;
40  import org.rcfaces.core.component.capability.ILookAndFeelCapability;
41  import org.rcfaces.core.component.capability.IHiddenModeCapability;
42  import org.rcfaces.core.component.capability.ITabIndexCapability;
43  import org.rcfaces.core.internal.component.IDataMapAccessor;
44  import org.rcfaces.core.component.capability.IMouseEventCapability;
45  import org.rcfaces.core.component.capability.IErrorEventCapability;
46  import javax.el.ValueExpression;
47  import org.rcfaces.core.component.capability.ITextAlignmentCapability;
48  import java.util.HashSet;
49  import org.rcfaces.core.component.capability.IClientDataCapability;
50  import org.rcfaces.core.component.capability.IHelpCapability;
51  import org.rcfaces.core.internal.component.CameliaCommandComponent;
52  
53  /**
54   * Technical component, used as a basis for building new RCFaces components.
55   */
56  public abstract class AbstractCommandComponent extends CameliaCommandComponent implements 
57  	IHelpCapability,
58  	IClientDataCapability,
59  	IFocusBlurEventCapability,
60  	IForegroundBackgroundColorCapability,
61  	IVisibilityCapability,
62  	IErrorEventCapability,
63  	IDisabledCapability,
64  	IValidationEventCapability,
65  	IFontCapability,
66  	IMouseEventCapability,
67  	ITabIndexCapability,
68  	IUnlockedClientAttributesCapability,
69  	IPropertyChangeEventCapability,
70  	IServerDataCapability,
71  	IMarginCapability,
72  	IUserEventCapability,
73  	IPositionCapability,
74  	IPartialRenderingCapability,
75  	IStyleClassCapability,
76  	ILookAndFeelCapability,
77  	ISizeCapability,
78  	ITextAlignmentCapability,
79  	IAccessKeyCapability,
80  	IWAIRoleCapability,
81  	ILayoutPositionCapability,
82  	IInitEventCapability,
83  	IHiddenModeCapability,
84  	IImmediateCapability,
85  	IClientDataManager,
86  	IServerDataManager {
87  
88  	private static final Log LOG = LogFactory.getLog(AbstractCommandComponent.class);
89  
90  	protected static final Set CAMELIA_ATTRIBUTES=new HashSet(CameliaCommandComponent.CAMELIA_ATTRIBUTES);
91  	static {
92  		CAMELIA_ATTRIBUTES.addAll(Arrays.asList(new String[] {"accessKey","blurListener","fontName","visible","backgroundColor","marginLeft","errorListener","tabIndex","focusListener","propertyChangeListener","helpURL","ariaLevel","height","hiddenMode","mouseOverListener","left","right","waiRole","foregroundColor","mouseOutListener","top","validationListener","lookId","userEventListener","helpMessage","marginTop","width","styleClass","marginRight","partialRendering","fontBold","fontSize","ariaLabel","initListener","immediate","unlockedClientAttributeNames","marginBottom","fontItalic","fontUnderline","textAlignment","bottom","toolTipText","y","disabled","margins","x"}));
93  	}
94  
95  
96  	public Map getServerDataMap(FacesContext facesContext) {
97  
98  
99  		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(facesContext, "serverData", false);
100  		if (dataMapAccessor==null) {
101 			return Collections.EMPTY_MAP;
102 		}
103             
104 		Map map=dataMapAccessor.getDataMap(facesContext);
105 		if (Constants.READ_ONLY_COLLECTION_LOCK_ENABLED) {
106 			if (map.isEmpty()) {
107 				return Collections.EMPTY_MAP;
108 			}
109 			map=Collections.unmodifiableMap(map);
110 		}
111 		return map;
112 		
113 	}
114 
115 	public Object setServerData(String name, Object value) {
116 
117 
118 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", true);
119             
120 		return dataMapAccessor.setData(name, value, null);
121 		
122 	}
123 
124 	public Map getClientDataMap(FacesContext facesContext) {
125 
126 
127 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(facesContext, "clientData", false);
128 		if (dataMapAccessor==null) {
129 			return Collections.EMPTY_MAP;
130 		}
131             
132 		return dataMapAccessor.getDataMap(facesContext);
133 		
134 	}
135 
136 	public String setClientData(String name, String value) {
137 
138 
139 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", true);
140             
141 		return (String)dataMapAccessor.setData(name, value, null);
142 		
143 	}
144 
145 	public void setServerData(String name, ValueExpression value) {
146 
147 
148 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", true);
149             
150 		dataMapAccessor.setData(name, value, null);
151 		
152 	}
153 
154 	public String[] listClientDataKeys(FacesContext facesContext) {
155 
156 
157 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", false);
158 		if (dataMapAccessor==null) {
159 			return ComponentTools.STRING_EMPTY_ARRAY;
160 		}
161 		
162 		return dataMapAccessor.listDataKeys(facesContext);
163 		
164 	}
165 
166 	public void setClientData(String name, ValueExpression value) {
167 
168 
169 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", true);
170             
171 		dataMapAccessor.setData(name, value, null);
172 		
173 	}
174 
175 	public String getClientData(String name, FacesContext facesContext) {
176 
177 
178 		 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", false);
179 		 if (dataMapAccessor==null) {
180 		 	return null;
181 		 }
182             
183 		return (String)dataMapAccessor.getData(name, facesContext);
184 		
185 	}
186 
187 	public Object getServerData(String name, FacesContext facesContext) {
188 
189 
190 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
191 		if (dataMapAccessor==null) {
192 			return null;
193 		}
194 		
195 		return dataMapAccessor.getData(name, facesContext);
196 		
197 	}
198 
199 	public void setMargins(String margins) {
200 
201 
202 				MarginTools.setMargins(this, margins);
203 			
204 	}
205 
206 	public String[] listServerDataKeys(FacesContext facesContext) {
207 
208 
209 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
210 		if (dataMapAccessor==null) {
211 			return ComponentTools.STRING_EMPTY_ARRAY;
212 		}
213 		
214 		return dataMapAccessor.listDataKeys(facesContext);
215 		
216 	}
217 
218 	public void setHiddenMode(String hiddenMode) {
219 
220 
221 			setHiddenMode(((Integer)HiddenModeConverter.SINGLETON.getAsObject(null, this, hiddenMode)).intValue());
222 		
223 	}
224 
225 	public Boolean getVisibleState(FacesContext facesContext) {
226 
227 
228 			if (engine.isPropertySetted(Properties.VISIBLE)==false) {
229 				return null;
230 			}
231 			
232 			return Boolean.valueOf(isVisible(facesContext));
233 		
234 	}
235 
236 	public java.lang.String getHelpMessage() {
237 		return getHelpMessage(null);
238 	}
239 
240 	/**
241 	 * See {@link #getHelpMessage() getHelpMessage()} for more details
242 	 */
243 	public java.lang.String getHelpMessage(javax.faces.context.FacesContext facesContext) {
244 		return engine.getStringProperty(Properties.HELP_MESSAGE, facesContext);
245 	}
246 
247 	/**
248 	 * Returns <code>true</code> if the attribute "helpMessage" is set.
249 	 * @return <code>true</code> if the attribute is set.
250 	 */
251 	public final boolean isHelpMessageSetted() {
252 		return engine.isPropertySetted(Properties.HELP_MESSAGE);
253 	}
254 
255 	public void setHelpMessage(java.lang.String helpMessage) {
256 		engine.setProperty(Properties.HELP_MESSAGE, helpMessage);
257 	}
258 
259 	public java.lang.String getHelpURL() {
260 		return getHelpURL(null);
261 	}
262 
263 	/**
264 	 * See {@link #getHelpURL() getHelpURL()} for more details
265 	 */
266 	public java.lang.String getHelpURL(javax.faces.context.FacesContext facesContext) {
267 		return engine.getStringProperty(Properties.HELP_URL, facesContext);
268 	}
269 
270 	/**
271 	 * Returns <code>true</code> if the attribute "helpURL" is set.
272 	 * @return <code>true</code> if the attribute is set.
273 	 */
274 	public final boolean isHelpURLSetted() {
275 		return engine.isPropertySetted(Properties.HELP_URL);
276 	}
277 
278 	public void setHelpURL(java.lang.String helpURL) {
279 		engine.setProperty(Properties.HELP_URL, helpURL);
280 	}
281 
282 	public java.lang.String getToolTipText() {
283 		return getToolTipText(null);
284 	}
285 
286 	/**
287 	 * See {@link #getToolTipText() getToolTipText()} for more details
288 	 */
289 	public java.lang.String getToolTipText(javax.faces.context.FacesContext facesContext) {
290 		return engine.getStringProperty(Properties.TOOL_TIP_TEXT, facesContext);
291 	}
292 
293 	/**
294 	 * Returns <code>true</code> if the attribute "toolTipText" is set.
295 	 * @return <code>true</code> if the attribute is set.
296 	 */
297 	public final boolean isToolTipTextSetted() {
298 		return engine.isPropertySetted(Properties.TOOL_TIP_TEXT);
299 	}
300 
301 	public void setToolTipText(java.lang.String toolTipText) {
302 		engine.setProperty(Properties.TOOL_TIP_TEXT, toolTipText);
303 	}
304 
305 	public int getClientDataCount() {
306 
307 
308 		 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", false);
309 		 if (dataMapAccessor==null) {
310 		 	return 0;
311 		 }
312 		 
313 		 return dataMapAccessor.getDataCount();
314 		
315 	}
316 
317 	public String[] listClientDataKeys() {
318 
319 
320 			return listClientDataKeys(null);
321 		
322 	}
323 
324 	public String removeClientData(String name) {
325 
326 
327 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", false);
328 		if (dataMapAccessor==null) {
329 			return null;
330 		}
331             
332 		return (String)dataMapAccessor.removeData(name, null);
333 		
334 	}
335 
336 	public String getClientData(String name) {
337 
338 
339 		 return getClientData(name, null);
340 		
341 	}
342 
343 	public Map getClientDataMap() {
344 
345 
346 		return getClientDataMap(null);
347 		
348 	}
349 
350 	public final void addBlurListener(org.rcfaces.core.event.IBlurListener listener) {
351 		addFacesListener(listener);
352 	}
353 
354 	public final void removeBlurListener(org.rcfaces.core.event.IBlurListener listener) {
355 		removeFacesListener(listener);
356 	}
357 
358 	public final javax.faces.event.FacesListener [] listBlurListeners() {
359 		return getFacesListeners(org.rcfaces.core.event.IBlurListener.class);
360 	}
361 
362 	public final void addFocusListener(org.rcfaces.core.event.IFocusListener listener) {
363 		addFacesListener(listener);
364 	}
365 
366 	public final void removeFocusListener(org.rcfaces.core.event.IFocusListener listener) {
367 		removeFacesListener(listener);
368 	}
369 
370 	public final javax.faces.event.FacesListener [] listFocusListeners() {
371 		return getFacesListeners(org.rcfaces.core.event.IFocusListener.class);
372 	}
373 
374 	public java.lang.String getBackgroundColor() {
375 		return getBackgroundColor(null);
376 	}
377 
378 	/**
379 	 * See {@link #getBackgroundColor() getBackgroundColor()} for more details
380 	 */
381 	public java.lang.String getBackgroundColor(javax.faces.context.FacesContext facesContext) {
382 		return engine.getStringProperty(Properties.BACKGROUND_COLOR, facesContext);
383 	}
384 
385 	/**
386 	 * Returns <code>true</code> if the attribute "backgroundColor" is set.
387 	 * @return <code>true</code> if the attribute is set.
388 	 */
389 	public final boolean isBackgroundColorSetted() {
390 		return engine.isPropertySetted(Properties.BACKGROUND_COLOR);
391 	}
392 
393 	public void setBackgroundColor(java.lang.String backgroundColor) {
394 		engine.setProperty(Properties.BACKGROUND_COLOR, backgroundColor);
395 	}
396 
397 	public java.lang.String getForegroundColor() {
398 		return getForegroundColor(null);
399 	}
400 
401 	/**
402 	 * See {@link #getForegroundColor() getForegroundColor()} for more details
403 	 */
404 	public java.lang.String getForegroundColor(javax.faces.context.FacesContext facesContext) {
405 		return engine.getStringProperty(Properties.FOREGROUND_COLOR, facesContext);
406 	}
407 
408 	/**
409 	 * Returns <code>true</code> if the attribute "foregroundColor" is set.
410 	 * @return <code>true</code> if the attribute is set.
411 	 */
412 	public final boolean isForegroundColorSetted() {
413 		return engine.isPropertySetted(Properties.FOREGROUND_COLOR);
414 	}
415 
416 	public void setForegroundColor(java.lang.String foregroundColor) {
417 		engine.setProperty(Properties.FOREGROUND_COLOR, foregroundColor);
418 	}
419 
420 	public boolean isVisible() {
421 		return isVisible(null);
422 	}
423 
424 	/**
425 	 * See {@link #isVisible() isVisible()} for more details
426 	 */
427 	public boolean isVisible(javax.faces.context.FacesContext facesContext) {
428 		return engine.getBoolProperty(Properties.VISIBLE, true, facesContext);
429 	}
430 
431 	/**
432 	 * Returns <code>true</code> if the attribute "visible" is set.
433 	 * @return <code>true</code> if the attribute is set.
434 	 */
435 	public final boolean isVisibleSetted() {
436 		return engine.isPropertySetted(Properties.VISIBLE);
437 	}
438 
439 	public void setVisible(boolean visible) {
440 		engine.setProperty(Properties.VISIBLE, visible);
441 	}
442 
443 	public Boolean getVisibleState() {
444 
445 
446 			return getVisibleState(null);
447 		
448 	}
449 
450 	public final void addErrorListener(org.rcfaces.core.event.IErrorListener listener) {
451 		addFacesListener(listener);
452 	}
453 
454 	public final void removeErrorListener(org.rcfaces.core.event.IErrorListener listener) {
455 		removeFacesListener(listener);
456 	}
457 
458 	public final javax.faces.event.FacesListener [] listErrorListeners() {
459 		return getFacesListeners(org.rcfaces.core.event.IErrorListener.class);
460 	}
461 
462 	public boolean isDisabled() {
463 		return isDisabled(null);
464 	}
465 
466 	/**
467 	 * See {@link #isDisabled() isDisabled()} for more details
468 	 */
469 	public boolean isDisabled(javax.faces.context.FacesContext facesContext) {
470 		return engine.getBoolProperty(Properties.DISABLED, false, facesContext);
471 	}
472 
473 	/**
474 	 * Returns <code>true</code> if the attribute "disabled" is set.
475 	 * @return <code>true</code> if the attribute is set.
476 	 */
477 	public final boolean isDisabledSetted() {
478 		return engine.isPropertySetted(Properties.DISABLED);
479 	}
480 
481 	public void setDisabled(boolean disabled) {
482 		engine.setProperty(Properties.DISABLED, disabled);
483 	}
484 
485 	public final void addValidationListener(org.rcfaces.core.event.IValidationListener listener) {
486 		addFacesListener(listener);
487 	}
488 
489 	public final void removeValidationListener(org.rcfaces.core.event.IValidationListener listener) {
490 		removeFacesListener(listener);
491 	}
492 
493 	public final javax.faces.event.FacesListener [] listValidationListeners() {
494 		return getFacesListeners(org.rcfaces.core.event.IValidationListener.class);
495 	}
496 
497 	public java.lang.Boolean getFontBold() {
498 		return getFontBold(null);
499 	}
500 
501 	/**
502 	 * See {@link #getFontBold() getFontBold()} for more details
503 	 */
504 	public java.lang.Boolean getFontBold(javax.faces.context.FacesContext facesContext) {
505 		return engine.getBooleanProperty(Properties.FONT_BOLD, facesContext);
506 	}
507 
508 	/**
509 	 * Returns <code>true</code> if the attribute "fontBold" is set.
510 	 * @return <code>true</code> if the attribute is set.
511 	 */
512 	public final boolean isFontBoldSetted() {
513 		return engine.isPropertySetted(Properties.FONT_BOLD);
514 	}
515 
516 	public void setFontBold(java.lang.Boolean fontBold) {
517 		engine.setProperty(Properties.FONT_BOLD, fontBold);
518 	}
519 
520 	public java.lang.Boolean getFontItalic() {
521 		return getFontItalic(null);
522 	}
523 
524 	/**
525 	 * See {@link #getFontItalic() getFontItalic()} for more details
526 	 */
527 	public java.lang.Boolean getFontItalic(javax.faces.context.FacesContext facesContext) {
528 		return engine.getBooleanProperty(Properties.FONT_ITALIC, facesContext);
529 	}
530 
531 	/**
532 	 * Returns <code>true</code> if the attribute "fontItalic" is set.
533 	 * @return <code>true</code> if the attribute is set.
534 	 */
535 	public final boolean isFontItalicSetted() {
536 		return engine.isPropertySetted(Properties.FONT_ITALIC);
537 	}
538 
539 	public void setFontItalic(java.lang.Boolean fontItalic) {
540 		engine.setProperty(Properties.FONT_ITALIC, fontItalic);
541 	}
542 
543 	public java.lang.String getFontName() {
544 		return getFontName(null);
545 	}
546 
547 	/**
548 	 * See {@link #getFontName() getFontName()} for more details
549 	 */
550 	public java.lang.String getFontName(javax.faces.context.FacesContext facesContext) {
551 		return engine.getStringProperty(Properties.FONT_NAME, facesContext);
552 	}
553 
554 	/**
555 	 * Returns <code>true</code> if the attribute "fontName" is set.
556 	 * @return <code>true</code> if the attribute is set.
557 	 */
558 	public final boolean isFontNameSetted() {
559 		return engine.isPropertySetted(Properties.FONT_NAME);
560 	}
561 
562 	public void setFontName(java.lang.String fontName) {
563 		engine.setProperty(Properties.FONT_NAME, fontName);
564 	}
565 
566 	public java.lang.String getFontSize() {
567 		return getFontSize(null);
568 	}
569 
570 	/**
571 	 * See {@link #getFontSize() getFontSize()} for more details
572 	 */
573 	public java.lang.String getFontSize(javax.faces.context.FacesContext facesContext) {
574 		return engine.getStringProperty(Properties.FONT_SIZE, facesContext);
575 	}
576 
577 	/**
578 	 * Returns <code>true</code> if the attribute "fontSize" is set.
579 	 * @return <code>true</code> if the attribute is set.
580 	 */
581 	public final boolean isFontSizeSetted() {
582 		return engine.isPropertySetted(Properties.FONT_SIZE);
583 	}
584 
585 	public void setFontSize(java.lang.String fontSize) {
586 		engine.setProperty(Properties.FONT_SIZE, fontSize);
587 	}
588 
589 	public java.lang.Boolean getFontUnderline() {
590 		return getFontUnderline(null);
591 	}
592 
593 	/**
594 	 * See {@link #getFontUnderline() getFontUnderline()} for more details
595 	 */
596 	public java.lang.Boolean getFontUnderline(javax.faces.context.FacesContext facesContext) {
597 		return engine.getBooleanProperty(Properties.FONT_UNDERLINE, facesContext);
598 	}
599 
600 	/**
601 	 * Returns <code>true</code> if the attribute "fontUnderline" is set.
602 	 * @return <code>true</code> if the attribute is set.
603 	 */
604 	public final boolean isFontUnderlineSetted() {
605 		return engine.isPropertySetted(Properties.FONT_UNDERLINE);
606 	}
607 
608 	public void setFontUnderline(java.lang.Boolean fontUnderline) {
609 		engine.setProperty(Properties.FONT_UNDERLINE, fontUnderline);
610 	}
611 
612 	public final void addMouseOutListener(org.rcfaces.core.event.IMouseOutListener listener) {
613 		addFacesListener(listener);
614 	}
615 
616 	public final void removeMouseOutListener(org.rcfaces.core.event.IMouseOutListener listener) {
617 		removeFacesListener(listener);
618 	}
619 
620 	public final javax.faces.event.FacesListener [] listMouseOutListeners() {
621 		return getFacesListeners(org.rcfaces.core.event.IMouseOutListener.class);
622 	}
623 
624 	public final void addMouseOverListener(org.rcfaces.core.event.IMouseOverListener listener) {
625 		addFacesListener(listener);
626 	}
627 
628 	public final void removeMouseOverListener(org.rcfaces.core.event.IMouseOverListener listener) {
629 		removeFacesListener(listener);
630 	}
631 
632 	public final javax.faces.event.FacesListener [] listMouseOverListeners() {
633 		return getFacesListeners(org.rcfaces.core.event.IMouseOverListener.class);
634 	}
635 
636 	public java.lang.Integer getTabIndex() {
637 		return getTabIndex(null);
638 	}
639 
640 	/**
641 	 * See {@link #getTabIndex() getTabIndex()} for more details
642 	 */
643 	public java.lang.Integer getTabIndex(javax.faces.context.FacesContext facesContext) {
644 		return engine.getIntegerProperty(Properties.TAB_INDEX, facesContext);
645 	}
646 
647 	/**
648 	 * Returns <code>true</code> if the attribute "tabIndex" is set.
649 	 * @return <code>true</code> if the attribute is set.
650 	 */
651 	public final boolean isTabIndexSetted() {
652 		return engine.isPropertySetted(Properties.TAB_INDEX);
653 	}
654 
655 	public void setTabIndex(java.lang.Integer tabIndex) {
656 		engine.setProperty(Properties.TAB_INDEX, tabIndex);
657 	}
658 
659 	public java.lang.String getUnlockedClientAttributeNames() {
660 		return getUnlockedClientAttributeNames(null);
661 	}
662 
663 	/**
664 	 * See {@link #getUnlockedClientAttributeNames() getUnlockedClientAttributeNames()} for more details
665 	 */
666 	public java.lang.String getUnlockedClientAttributeNames(javax.faces.context.FacesContext facesContext) {
667 		return engine.getStringProperty(Properties.UNLOCKED_CLIENT_ATTRIBUTE_NAMES, facesContext);
668 	}
669 
670 	/**
671 	 * Returns <code>true</code> if the attribute "unlockedClientAttributeNames" is set.
672 	 * @return <code>true</code> if the attribute is set.
673 	 */
674 	public final boolean isUnlockedClientAttributeNamesSetted() {
675 		return engine.isPropertySetted(Properties.UNLOCKED_CLIENT_ATTRIBUTE_NAMES);
676 	}
677 
678 	public void setUnlockedClientAttributeNames(java.lang.String unlockedClientAttributeNames) {
679 		engine.setProperty(Properties.UNLOCKED_CLIENT_ATTRIBUTE_NAMES, unlockedClientAttributeNames);
680 	}
681 
682 	public final void addPropertyChangeListener(org.rcfaces.core.event.IPropertyChangeListener listener) {
683 		addFacesListener(listener);
684 	}
685 
686 	public final void removePropertyChangeListener(org.rcfaces.core.event.IPropertyChangeListener listener) {
687 		removeFacesListener(listener);
688 	}
689 
690 	public final javax.faces.event.FacesListener [] listPropertyChangeListeners() {
691 		return getFacesListeners(org.rcfaces.core.event.IPropertyChangeListener.class);
692 	}
693 
694 	public String[] listServerDataKeys() {
695 
696 
697 			return listServerDataKeys(null);
698 		
699 	}
700 
701 	public Map getServerDataMap() {
702 
703 
704 		return getServerDataMap(null);
705 		
706 	}
707 
708 	public int getServerDataCount() {
709 
710 
711 		 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
712 		 if (dataMapAccessor==null) {
713 		 	return 0;
714 		 }
715             
716 		return dataMapAccessor.getDataCount();
717 		
718 	}
719 
720 	public Object getServerData(String name) {
721 
722 
723 		 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
724 		 if (dataMapAccessor==null) {
725 		 	return null;
726 		 }
727             
728 		return dataMapAccessor.getData(name, null);
729 		
730 	}
731 
732 	public Object removeServerData(String name) {
733 
734 
735 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
736 		if (dataMapAccessor==null) {
737 		 	return null;
738 		}
739             
740 		return dataMapAccessor.removeData(name, null);
741 		
742 	}
743 
744 	public java.lang.String getMarginBottom() {
745 		return getMarginBottom(null);
746 	}
747 
748 	/**
749 	 * See {@link #getMarginBottom() getMarginBottom()} for more details
750 	 */
751 	public java.lang.String getMarginBottom(javax.faces.context.FacesContext facesContext) {
752 		return engine.getStringProperty(Properties.MARGIN_BOTTOM, facesContext);
753 	}
754 
755 	/**
756 	 * Returns <code>true</code> if the attribute "marginBottom" is set.
757 	 * @return <code>true</code> if the attribute is set.
758 	 */
759 	public final boolean isMarginBottomSetted() {
760 		return engine.isPropertySetted(Properties.MARGIN_BOTTOM);
761 	}
762 
763 	public void setMarginBottom(java.lang.String marginBottom) {
764 		engine.setProperty(Properties.MARGIN_BOTTOM, marginBottom);
765 	}
766 
767 	public java.lang.String getMarginLeft() {
768 		return getMarginLeft(null);
769 	}
770 
771 	/**
772 	 * See {@link #getMarginLeft() getMarginLeft()} for more details
773 	 */
774 	public java.lang.String getMarginLeft(javax.faces.context.FacesContext facesContext) {
775 		return engine.getStringProperty(Properties.MARGIN_LEFT, facesContext);
776 	}
777 
778 	/**
779 	 * Returns <code>true</code> if the attribute "marginLeft" is set.
780 	 * @return <code>true</code> if the attribute is set.
781 	 */
782 	public final boolean isMarginLeftSetted() {
783 		return engine.isPropertySetted(Properties.MARGIN_LEFT);
784 	}
785 
786 	public void setMarginLeft(java.lang.String marginLeft) {
787 		engine.setProperty(Properties.MARGIN_LEFT, marginLeft);
788 	}
789 
790 	public java.lang.String getMarginRight() {
791 		return getMarginRight(null);
792 	}
793 
794 	/**
795 	 * See {@link #getMarginRight() getMarginRight()} for more details
796 	 */
797 	public java.lang.String getMarginRight(javax.faces.context.FacesContext facesContext) {
798 		return engine.getStringProperty(Properties.MARGIN_RIGHT, facesContext);
799 	}
800 
801 	/**
802 	 * Returns <code>true</code> if the attribute "marginRight" is set.
803 	 * @return <code>true</code> if the attribute is set.
804 	 */
805 	public final boolean isMarginRightSetted() {
806 		return engine.isPropertySetted(Properties.MARGIN_RIGHT);
807 	}
808 
809 	public void setMarginRight(java.lang.String marginRight) {
810 		engine.setProperty(Properties.MARGIN_RIGHT, marginRight);
811 	}
812 
813 	public java.lang.String getMarginTop() {
814 		return getMarginTop(null);
815 	}
816 
817 	/**
818 	 * See {@link #getMarginTop() getMarginTop()} for more details
819 	 */
820 	public java.lang.String getMarginTop(javax.faces.context.FacesContext facesContext) {
821 		return engine.getStringProperty(Properties.MARGIN_TOP, facesContext);
822 	}
823 
824 	/**
825 	 * Returns <code>true</code> if the attribute "marginTop" is set.
826 	 * @return <code>true</code> if the attribute is set.
827 	 */
828 	public final boolean isMarginTopSetted() {
829 		return engine.isPropertySetted(Properties.MARGIN_TOP);
830 	}
831 
832 	public void setMarginTop(java.lang.String marginTop) {
833 		engine.setProperty(Properties.MARGIN_TOP, marginTop);
834 	}
835 
836 	public final void addUserEventListener(org.rcfaces.core.event.IUserEventListener listener) {
837 		addFacesListener(listener);
838 	}
839 
840 	public final void removeUserEventListener(org.rcfaces.core.event.IUserEventListener listener) {
841 		removeFacesListener(listener);
842 	}
843 
844 	public final javax.faces.event.FacesListener [] listUserEventListeners() {
845 		return getFacesListeners(org.rcfaces.core.event.IUserEventListener.class);
846 	}
847 
848 	public java.lang.String getX() {
849 		return getX(null);
850 	}
851 
852 	/**
853 	 * See {@link #getX() getX()} for more details
854 	 */
855 	public java.lang.String getX(javax.faces.context.FacesContext facesContext) {
856 		return engine.getStringProperty(Properties.X, facesContext);
857 	}
858 
859 	/**
860 	 * Returns <code>true</code> if the attribute "x" is set.
861 	 * @return <code>true</code> if the attribute is set.
862 	 */
863 	public final boolean isXSetted() {
864 		return engine.isPropertySetted(Properties.X);
865 	}
866 
867 	public void setX(java.lang.String x) {
868 		engine.setProperty(Properties.X, x);
869 	}
870 
871 	public java.lang.String getY() {
872 		return getY(null);
873 	}
874 
875 	/**
876 	 * See {@link #getY() getY()} for more details
877 	 */
878 	public java.lang.String getY(javax.faces.context.FacesContext facesContext) {
879 		return engine.getStringProperty(Properties.Y, facesContext);
880 	}
881 
882 	/**
883 	 * Returns <code>true</code> if the attribute "y" is set.
884 	 * @return <code>true</code> if the attribute is set.
885 	 */
886 	public final boolean isYSetted() {
887 		return engine.isPropertySetted(Properties.Y);
888 	}
889 
890 	public void setY(java.lang.String y) {
891 		engine.setProperty(Properties.Y, y);
892 	}
893 
894 	public boolean isPartialRendering() {
895 		return isPartialRendering(null);
896 	}
897 
898 	/**
899 	 * See {@link #isPartialRendering() isPartialRendering()} for more details
900 	 */
901 	public boolean isPartialRendering(javax.faces.context.FacesContext facesContext) {
902 		return engine.getBoolProperty(Properties.PARTIAL_RENDERING, false, facesContext);
903 	}
904 
905 	/**
906 	 * Returns <code>true</code> if the attribute "partialRendering" is set.
907 	 * @return <code>true</code> if the attribute is set.
908 	 */
909 	public final boolean isPartialRenderingSetted() {
910 		return engine.isPropertySetted(Properties.PARTIAL_RENDERING);
911 	}
912 
913 	public void setPartialRendering(boolean partialRendering) {
914 		engine.setProperty(Properties.PARTIAL_RENDERING, partialRendering);
915 	}
916 
917 	public java.lang.String getStyleClass() {
918 		return getStyleClass(null);
919 	}
920 
921 	/**
922 	 * See {@link #getStyleClass() getStyleClass()} for more details
923 	 */
924 	public java.lang.String getStyleClass(javax.faces.context.FacesContext facesContext) {
925 		return engine.getStringProperty(Properties.STYLE_CLASS, facesContext);
926 	}
927 
928 	/**
929 	 * Returns <code>true</code> if the attribute "styleClass" is set.
930 	 * @return <code>true</code> if the attribute is set.
931 	 */
932 	public final boolean isStyleClassSetted() {
933 		return engine.isPropertySetted(Properties.STYLE_CLASS);
934 	}
935 
936 	public void setStyleClass(java.lang.String styleClass) {
937 		engine.setProperty(Properties.STYLE_CLASS, styleClass);
938 	}
939 
940 	public java.lang.String getLookId() {
941 		return getLookId(null);
942 	}
943 
944 	/**
945 	 * See {@link #getLookId() getLookId()} for more details
946 	 */
947 	public java.lang.String getLookId(javax.faces.context.FacesContext facesContext) {
948 		return engine.getStringProperty(Properties.LOOK_ID, facesContext);
949 	}
950 
951 	/**
952 	 * Returns <code>true</code> if the attribute "lookId" is set.
953 	 * @return <code>true</code> if the attribute is set.
954 	 */
955 	public final boolean isLookIdSetted() {
956 		return engine.isPropertySetted(Properties.LOOK_ID);
957 	}
958 
959 	public void setLookId(java.lang.String lookId) {
960 		engine.setProperty(Properties.LOOK_ID, lookId);
961 	}
962 
963 	public java.lang.String getWidth() {
964 		return getWidth(null);
965 	}
966 
967 	/**
968 	 * See {@link #getWidth() getWidth()} for more details
969 	 */
970 	public java.lang.String getWidth(javax.faces.context.FacesContext facesContext) {
971 		return engine.getStringProperty(Properties.WIDTH, facesContext);
972 	}
973 
974 	/**
975 	 * Returns <code>true</code> if the attribute "width" is set.
976 	 * @return <code>true</code> if the attribute is set.
977 	 */
978 	public final boolean isWidthSetted() {
979 		return engine.isPropertySetted(Properties.WIDTH);
980 	}
981 
982 	public void setWidth(java.lang.String width) {
983 		engine.setProperty(Properties.WIDTH, width);
984 	}
985 
986 	public java.lang.String getHeight() {
987 		return getHeight(null);
988 	}
989 
990 	/**
991 	 * See {@link #getHeight() getHeight()} for more details
992 	 */
993 	public java.lang.String getHeight(javax.faces.context.FacesContext facesContext) {
994 		return engine.getStringProperty(Properties.HEIGHT, facesContext);
995 	}
996 
997 	/**
998 	 * Returns <code>true</code> if the attribute "height" is set.
999 	 * @return <code>true</code> if the attribute is set.
1000 	 */
1001 	public final boolean isHeightSetted() {
1002 		return engine.isPropertySetted(Properties.HEIGHT);
1003 	}
1004 
1005 	public void setHeight(java.lang.String height) {
1006 		engine.setProperty(Properties.HEIGHT, height);
1007 	}
1008 
1009 	public java.lang.String getTextAlignment() {
1010 		return getTextAlignment(null);
1011 	}
1012 
1013 	/**
1014 	 * See {@link #getTextAlignment() getTextAlignment()} for more details
1015 	 */
1016 	public java.lang.String getTextAlignment(javax.faces.context.FacesContext facesContext) {
1017 		return engine.getStringProperty(Properties.TEXT_ALIGNMENT, facesContext);
1018 	}
1019 
1020 	/**
1021 	 * Returns <code>true</code> if the attribute "textAlignment" is set.
1022 	 * @return <code>true</code> if the attribute is set.
1023 	 */
1024 	public final boolean isTextAlignmentSetted() {
1025 		return engine.isPropertySetted(Properties.TEXT_ALIGNMENT);
1026 	}
1027 
1028 	public void setTextAlignment(java.lang.String textAlignment) {
1029 		engine.setProperty(Properties.TEXT_ALIGNMENT, textAlignment);
1030 	}
1031 
1032 	public java.lang.String getAccessKey() {
1033 		return getAccessKey(null);
1034 	}
1035 
1036 	/**
1037 	 * See {@link #getAccessKey() getAccessKey()} for more details
1038 	 */
1039 	public java.lang.String getAccessKey(javax.faces.context.FacesContext facesContext) {
1040 		return engine.getStringProperty(Properties.ACCESS_KEY, facesContext);
1041 	}
1042 
1043 	/**
1044 	 * Returns <code>true</code> if the attribute "accessKey" is set.
1045 	 * @return <code>true</code> if the attribute is set.
1046 	 */
1047 	public final boolean isAccessKeySetted() {
1048 		return engine.isPropertySetted(Properties.ACCESS_KEY);
1049 	}
1050 
1051 	public void setAccessKey(java.lang.String accessKey) {
1052 		engine.setProperty(Properties.ACCESS_KEY, accessKey);
1053 	}
1054 
1055 	public java.lang.String getAriaLabel() {
1056 		return getAriaLabel(null);
1057 	}
1058 
1059 	/**
1060 	 * See {@link #getAriaLabel() getAriaLabel()} for more details
1061 	 */
1062 	public java.lang.String getAriaLabel(javax.faces.context.FacesContext facesContext) {
1063 		return engine.getStringProperty(Properties.ARIA_LABEL, facesContext);
1064 	}
1065 
1066 	/**
1067 	 * Returns <code>true</code> if the attribute "ariaLabel" is set.
1068 	 * @return <code>true</code> if the attribute is set.
1069 	 */
1070 	public final boolean isAriaLabelSetted() {
1071 		return engine.isPropertySetted(Properties.ARIA_LABEL);
1072 	}
1073 
1074 	public void setAriaLabel(java.lang.String ariaLabel) {
1075 		engine.setProperty(Properties.ARIA_LABEL, ariaLabel);
1076 	}
1077 
1078 	public int getAriaLevel() {
1079 		return getAriaLevel(null);
1080 	}
1081 
1082 	/**
1083 	 * See {@link #getAriaLevel() getAriaLevel()} for more details
1084 	 */
1085 	public int getAriaLevel(javax.faces.context.FacesContext facesContext) {
1086 		return engine.getIntProperty(Properties.ARIA_LEVEL,0, facesContext);
1087 	}
1088 
1089 	/**
1090 	 * Returns <code>true</code> if the attribute "ariaLevel" is set.
1091 	 * @return <code>true</code> if the attribute is set.
1092 	 */
1093 	public final boolean isAriaLevelSetted() {
1094 		return engine.isPropertySetted(Properties.ARIA_LEVEL);
1095 	}
1096 
1097 	public void setAriaLevel(int ariaLevel) {
1098 		engine.setProperty(Properties.ARIA_LEVEL, ariaLevel);
1099 	}
1100 
1101 	public java.lang.String getWaiRole() {
1102 		return getWaiRole(null);
1103 	}
1104 
1105 	/**
1106 	 * See {@link #getWaiRole() getWaiRole()} for more details
1107 	 */
1108 	public java.lang.String getWaiRole(javax.faces.context.FacesContext facesContext) {
1109 		return engine.getStringProperty(Properties.WAI_ROLE, facesContext);
1110 	}
1111 
1112 	/**
1113 	 * Returns <code>true</code> if the attribute "waiRole" is set.
1114 	 * @return <code>true</code> if the attribute is set.
1115 	 */
1116 	public final boolean isWaiRoleSetted() {
1117 		return engine.isPropertySetted(Properties.WAI_ROLE);
1118 	}
1119 
1120 	public void setWaiRole(java.lang.String waiRole) {
1121 		engine.setProperty(Properties.WAI_ROLE, waiRole);
1122 	}
1123 
1124 	public int getBottom() {
1125 		return getBottom(null);
1126 	}
1127 
1128 	/**
1129 	 * See {@link #getBottom() getBottom()} for more details
1130 	 */
1131 	public int getBottom(javax.faces.context.FacesContext facesContext) {
1132 		return engine.getIntProperty(Properties.BOTTOM,0, facesContext);
1133 	}
1134 
1135 	/**
1136 	 * Returns <code>true</code> if the attribute "bottom" is set.
1137 	 * @return <code>true</code> if the attribute is set.
1138 	 */
1139 	public final boolean isBottomSetted() {
1140 		return engine.isPropertySetted(Properties.BOTTOM);
1141 	}
1142 
1143 	public void setBottom(int bottom) {
1144 		engine.setProperty(Properties.BOTTOM, bottom);
1145 	}
1146 
1147 	public int getLeft() {
1148 		return getLeft(null);
1149 	}
1150 
1151 	/**
1152 	 * See {@link #getLeft() getLeft()} for more details
1153 	 */
1154 	public int getLeft(javax.faces.context.FacesContext facesContext) {
1155 		return engine.getIntProperty(Properties.LEFT,0, facesContext);
1156 	}
1157 
1158 	/**
1159 	 * Returns <code>true</code> if the attribute "left" is set.
1160 	 * @return <code>true</code> if the attribute is set.
1161 	 */
1162 	public final boolean isLeftSetted() {
1163 		return engine.isPropertySetted(Properties.LEFT);
1164 	}
1165 
1166 	public void setLeft(int left) {
1167 		engine.setProperty(Properties.LEFT, left);
1168 	}
1169 
1170 	public int getRight() {
1171 		return getRight(null);
1172 	}
1173 
1174 	/**
1175 	 * See {@link #getRight() getRight()} for more details
1176 	 */
1177 	public int getRight(javax.faces.context.FacesContext facesContext) {
1178 		return engine.getIntProperty(Properties.RIGHT,0, facesContext);
1179 	}
1180 
1181 	/**
1182 	 * Returns <code>true</code> if the attribute "right" is set.
1183 	 * @return <code>true</code> if the attribute is set.
1184 	 */
1185 	public final boolean isRightSetted() {
1186 		return engine.isPropertySetted(Properties.RIGHT);
1187 	}
1188 
1189 	public void setRight(int right) {
1190 		engine.setProperty(Properties.RIGHT, right);
1191 	}
1192 
1193 	public int getTop() {
1194 		return getTop(null);
1195 	}
1196 
1197 	/**
1198 	 * See {@link #getTop() getTop()} for more details
1199 	 */
1200 	public int getTop(javax.faces.context.FacesContext facesContext) {
1201 		return engine.getIntProperty(Properties.TOP,0, facesContext);
1202 	}
1203 
1204 	/**
1205 	 * Returns <code>true</code> if the attribute "top" is set.
1206 	 * @return <code>true</code> if the attribute is set.
1207 	 */
1208 	public final boolean isTopSetted() {
1209 		return engine.isPropertySetted(Properties.TOP);
1210 	}
1211 
1212 	public void setTop(int top) {
1213 		engine.setProperty(Properties.TOP, top);
1214 	}
1215 
1216 	public final void addInitListener(org.rcfaces.core.event.IInitListener listener) {
1217 		addFacesListener(listener);
1218 	}
1219 
1220 	public final void removeInitListener(org.rcfaces.core.event.IInitListener listener) {
1221 		removeFacesListener(listener);
1222 	}
1223 
1224 	public final javax.faces.event.FacesListener [] listInitListeners() {
1225 		return getFacesListeners(org.rcfaces.core.event.IInitListener.class);
1226 	}
1227 
1228 	public int getHiddenMode() {
1229 		return getHiddenMode(null);
1230 	}
1231 
1232 	/**
1233 	 * See {@link #getHiddenMode() getHiddenMode()} for more details
1234 	 */
1235 	public int getHiddenMode(javax.faces.context.FacesContext facesContext) {
1236 		return engine.getIntProperty(Properties.HIDDEN_MODE,IHiddenModeCapability.DEFAULT_HIDDEN_MODE, facesContext);
1237 	}
1238 
1239 	/**
1240 	 * Returns <code>true</code> if the attribute "hiddenMode" is set.
1241 	 * @return <code>true</code> if the attribute is set.
1242 	 */
1243 	public final boolean isHiddenModeSetted() {
1244 		return engine.isPropertySetted(Properties.HIDDEN_MODE);
1245 	}
1246 
1247 	public void setHiddenMode(int hiddenMode) {
1248 		engine.setProperty(Properties.HIDDEN_MODE, hiddenMode);
1249 	}
1250 
1251 	protected Set getCameliaFields() {
1252 		return CAMELIA_ATTRIBUTES;
1253 	}
1254 }