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