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