View Javadoc

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