View Javadoc

1   package org.rcfaces.core.component;
2   
3   import org.rcfaces.core.component.capability.IVisibilityCapability;
4   import org.rcfaces.core.internal.component.Properties;
5   import java.util.Map;
6   import org.rcfaces.core.component.capability.ILayoutPositionCapability;
7   import org.rcfaces.core.component.capability.IUserEventCapability;
8   import java.util.Collections;
9   import org.apache.commons.logging.LogFactory;
10  import org.rcfaces.core.internal.manager.IClientDataManager;
11  import javax.faces.context.FacesContext;
12  import org.rcfaces.core.internal.tools.MarginTools;
13  import org.rcfaces.core.internal.Constants;
14  import org.rcfaces.core.component.capability.IServerDataCapability;
15  import org.rcfaces.core.internal.component.CameliaBaseComponent;
16  import org.apache.commons.logging.Log;
17  import java.util.Set;
18  import org.rcfaces.core.internal.tools.ComponentTools;
19  import org.rcfaces.core.component.capability.IPositionCapability;
20  import org.rcfaces.core.component.capability.IUnlockedClientAttributesCapability;
21  import org.rcfaces.core.component.capability.IPartialRenderingCapability;
22  import org.rcfaces.core.component.capability.ILookAndFeelCapability;
23  import org.rcfaces.core.component.capability.IForegroundBackgroundColorCapability;
24  import org.rcfaces.core.component.capability.IWAIRoleCapability;
25  import org.rcfaces.core.component.capability.IHiddenModeCapability;
26  import org.rcfaces.core.component.capability.IPropertyChangeEventCapability;
27  import org.rcfaces.core.internal.component.IDataMapAccessor;
28  import org.rcfaces.core.internal.manager.IServerDataManager;
29  import org.rcfaces.core.component.capability.IErrorEventCapability;
30  import javax.el.ValueExpression;
31  import org.rcfaces.core.component.capability.ISizeCapability;
32  import java.util.HashSet;
33  import org.rcfaces.core.component.capability.IClientDataCapability;
34  import org.rcfaces.core.component.capability.IHelpCapability;
35  import org.rcfaces.core.component.capability.IStyleClassCapability;
36  import java.util.Arrays;
37  import org.rcfaces.core.internal.converter.HiddenModeConverter;
38  import org.rcfaces.core.component.capability.IMarginCapability;
39  
40  /**
41   * Technical component, used as a basis for building new RCFaces components.
42   */
43  public abstract class AbstractBasicComponent extends CameliaBaseComponent implements 
44  	IUnlockedClientAttributesCapability,
45  	IPartialRenderingCapability,
46  	IClientDataCapability,
47  	IServerDataCapability,
48  	IPropertyChangeEventCapability,
49  	IUserEventCapability,
50  	IErrorEventCapability,
51  	IWAIRoleCapability,
52  	IPositionCapability,
53  	ILayoutPositionCapability,
54  	ISizeCapability,
55  	IMarginCapability,
56  	IHelpCapability,
57  	IForegroundBackgroundColorCapability,
58  	IVisibilityCapability,
59  	IHiddenModeCapability,
60  	ILookAndFeelCapability,
61  	IStyleClassCapability,
62  	IClientDataManager,
63  	IServerDataManager {
64  
65  	private static final Log LOG = LogFactory.getLog(AbstractBasicComponent.class);
66  
67  	protected static final Set CAMELIA_ATTRIBUTES=new HashSet(CameliaBaseComponent.CAMELIA_ATTRIBUTES);
68  	static {
69  		CAMELIA_ATTRIBUTES.addAll(Arrays.asList(new String[] {"visible","marginLeft","backgroundColor","errorListener","propertyChangeListener","helpURL","ariaLevel","height","hiddenMode","left","right","waiRole","foregroundColor","top","lookId","userEventListener","helpMessage","marginTop","styleClass","width","marginRight","partialRendering","ariaLabel","unlockedClientAttributeNames","marginBottom","bottom","toolTipText","y","margins","x"}));
70  	}
71  
72  
73  	public void setClientData(String name, ValueExpression value) {
74  
75  
76  		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", true);
77              
78  		dataMapAccessor.setData(name, value, null);
79  		
80  	}
81  
82  	public String setClientData(String name, String value) {
83  
84  
85  		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", true);
86              
87  		return (String)dataMapAccessor.setData(name, value, null);
88  		
89  	}
90  
91  	public void setServerData(String name, ValueExpression value) {
92  
93  
94  		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", true);
95              
96  		dataMapAccessor.setData(name, value, null);
97  		
98  	}
99  
100 	public Object setServerData(String name, Object value) {
101 
102 
103 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", true);
104             
105 		return dataMapAccessor.setData(name, value, null);
106 		
107 	}
108 
109 	public void setHiddenMode(String hiddenMode) {
110 
111 
112 			setHiddenMode(((Integer)HiddenModeConverter.SINGLETON.getAsObject(null, this, hiddenMode)).intValue());
113 		
114 	}
115 
116 	public void setMargins(String margins) {
117 
118 
119 				MarginTools.setMargins(this, margins);
120 			
121 	}
122 
123 	public String getClientData(String name, FacesContext facesContext) {
124 
125 
126 		 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", false);
127 		 if (dataMapAccessor==null) {
128 		 	return null;
129 		 }
130             
131 		return (String)dataMapAccessor.getData(name, facesContext);
132 		
133 	}
134 
135 	public String[] listClientDataKeys(FacesContext facesContext) {
136 
137 
138 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", false);
139 		if (dataMapAccessor==null) {
140 			return ComponentTools.STRING_EMPTY_ARRAY;
141 		}
142 		
143 		return dataMapAccessor.listDataKeys(facesContext);
144 		
145 	}
146 
147 	public Map getClientDataMap(FacesContext facesContext) {
148 
149 
150 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(facesContext, "clientData", false);
151 		if (dataMapAccessor==null) {
152 			return Collections.EMPTY_MAP;
153 		}
154             
155 		return dataMapAccessor.getDataMap(facesContext);
156 		
157 	}
158 
159 	public Object getServerData(String name, FacesContext facesContext) {
160 
161 
162 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
163 		if (dataMapAccessor==null) {
164 			return null;
165 		}
166 		
167 		return dataMapAccessor.getData(name, facesContext);
168 		
169 	}
170 
171 	public String[] listServerDataKeys(FacesContext facesContext) {
172 
173 
174 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
175 		if (dataMapAccessor==null) {
176 			return ComponentTools.STRING_EMPTY_ARRAY;
177 		}
178 		
179 		return dataMapAccessor.listDataKeys(facesContext);
180 		
181 	}
182 
183 	public Map getServerDataMap(FacesContext facesContext) {
184 
185 
186 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(facesContext, "serverData", false);
187  		if (dataMapAccessor==null) {
188 			return Collections.EMPTY_MAP;
189 		}
190             
191 		Map map=dataMapAccessor.getDataMap(facesContext);
192 		if (Constants.READ_ONLY_COLLECTION_LOCK_ENABLED) {
193 			if (map.isEmpty()) {
194 				return Collections.EMPTY_MAP;
195 			}
196 			map=Collections.unmodifiableMap(map);
197 		}
198 		return map;
199 		
200 	}
201 
202 	public Boolean getVisibleState(FacesContext facesContext) {
203 
204 
205 			if (engine.isPropertySetted(Properties.VISIBLE)==false) {
206 				return null;
207 			}
208 			
209 			return Boolean.valueOf(isVisible(facesContext));
210 		
211 	}
212 
213 	public java.lang.String getUnlockedClientAttributeNames() {
214 		return getUnlockedClientAttributeNames(null);
215 	}
216 
217 	/**
218 	 * See {@link #getUnlockedClientAttributeNames() getUnlockedClientAttributeNames()} for more details
219 	 */
220 	public java.lang.String getUnlockedClientAttributeNames(javax.faces.context.FacesContext facesContext) {
221 		return engine.getStringProperty(Properties.UNLOCKED_CLIENT_ATTRIBUTE_NAMES, facesContext);
222 	}
223 
224 	/**
225 	 * Returns <code>true</code> if the attribute "unlockedClientAttributeNames" is set.
226 	 * @return <code>true</code> if the attribute is set.
227 	 */
228 	public final boolean isUnlockedClientAttributeNamesSetted() {
229 		return engine.isPropertySetted(Properties.UNLOCKED_CLIENT_ATTRIBUTE_NAMES);
230 	}
231 
232 	public void setUnlockedClientAttributeNames(java.lang.String unlockedClientAttributeNames) {
233 		engine.setProperty(Properties.UNLOCKED_CLIENT_ATTRIBUTE_NAMES, unlockedClientAttributeNames);
234 	}
235 
236 	public boolean isPartialRendering() {
237 		return isPartialRendering(null);
238 	}
239 
240 	/**
241 	 * See {@link #isPartialRendering() isPartialRendering()} for more details
242 	 */
243 	public boolean isPartialRendering(javax.faces.context.FacesContext facesContext) {
244 		return engine.getBoolProperty(Properties.PARTIAL_RENDERING, false, facesContext);
245 	}
246 
247 	/**
248 	 * Returns <code>true</code> if the attribute "partialRendering" is set.
249 	 * @return <code>true</code> if the attribute is set.
250 	 */
251 	public final boolean isPartialRenderingSetted() {
252 		return engine.isPropertySetted(Properties.PARTIAL_RENDERING);
253 	}
254 
255 	public void setPartialRendering(boolean partialRendering) {
256 		engine.setProperty(Properties.PARTIAL_RENDERING, partialRendering);
257 	}
258 
259 	public int getClientDataCount() {
260 
261 
262 		 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", false);
263 		 if (dataMapAccessor==null) {
264 		 	return 0;
265 		 }
266 		 
267 		 return dataMapAccessor.getDataCount();
268 		
269 	}
270 
271 	public String[] listClientDataKeys() {
272 
273 
274 			return listClientDataKeys(null);
275 		
276 	}
277 
278 	public String removeClientData(String name) {
279 
280 
281 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "clientData", false);
282 		if (dataMapAccessor==null) {
283 			return null;
284 		}
285             
286 		return (String)dataMapAccessor.removeData(name, null);
287 		
288 	}
289 
290 	public String getClientData(String name) {
291 
292 
293 		 return getClientData(name, null);
294 		
295 	}
296 
297 	public Map getClientDataMap() {
298 
299 
300 		return getClientDataMap(null);
301 		
302 	}
303 
304 	public String[] listServerDataKeys() {
305 
306 
307 			return listServerDataKeys(null);
308 		
309 	}
310 
311 	public Map getServerDataMap() {
312 
313 
314 		return getServerDataMap(null);
315 		
316 	}
317 
318 	public int getServerDataCount() {
319 
320 
321 		 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
322 		 if (dataMapAccessor==null) {
323 		 	return 0;
324 		 }
325             
326 		return dataMapAccessor.getDataCount();
327 		
328 	}
329 
330 	public Object getServerData(String name) {
331 
332 
333 		 IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
334 		 if (dataMapAccessor==null) {
335 		 	return null;
336 		 }
337             
338 		return dataMapAccessor.getData(name, null);
339 		
340 	}
341 
342 	public Object removeServerData(String name) {
343 
344 
345 		IDataMapAccessor dataMapAccessor=engine.getDataMapAccessor(null, "serverData", false);
346 		if (dataMapAccessor==null) {
347 		 	return null;
348 		}
349             
350 		return dataMapAccessor.removeData(name, null);
351 		
352 	}
353 
354 	public final void addPropertyChangeListener(org.rcfaces.core.event.IPropertyChangeListener listener) {
355 		addFacesListener(listener);
356 	}
357 
358 	public final void removePropertyChangeListener(org.rcfaces.core.event.IPropertyChangeListener listener) {
359 		removeFacesListener(listener);
360 	}
361 
362 	public final javax.faces.event.FacesListener [] listPropertyChangeListeners() {
363 		return getFacesListeners(org.rcfaces.core.event.IPropertyChangeListener.class);
364 	}
365 
366 	public final void addUserEventListener(org.rcfaces.core.event.IUserEventListener listener) {
367 		addFacesListener(listener);
368 	}
369 
370 	public final void removeUserEventListener(org.rcfaces.core.event.IUserEventListener listener) {
371 		removeFacesListener(listener);
372 	}
373 
374 	public final javax.faces.event.FacesListener [] listUserEventListeners() {
375 		return getFacesListeners(org.rcfaces.core.event.IUserEventListener.class);
376 	}
377 
378 	public final void addErrorListener(org.rcfaces.core.event.IErrorListener listener) {
379 		addFacesListener(listener);
380 	}
381 
382 	public final void removeErrorListener(org.rcfaces.core.event.IErrorListener listener) {
383 		removeFacesListener(listener);
384 	}
385 
386 	public final javax.faces.event.FacesListener [] listErrorListeners() {
387 		return getFacesListeners(org.rcfaces.core.event.IErrorListener.class);
388 	}
389 
390 	public java.lang.String getAriaLabel() {
391 		return getAriaLabel(null);
392 	}
393 
394 	/**
395 	 * See {@link #getAriaLabel() getAriaLabel()} for more details
396 	 */
397 	public java.lang.String getAriaLabel(javax.faces.context.FacesContext facesContext) {
398 		return engine.getStringProperty(Properties.ARIA_LABEL, facesContext);
399 	}
400 
401 	/**
402 	 * Returns <code>true</code> if the attribute "ariaLabel" is set.
403 	 * @return <code>true</code> if the attribute is set.
404 	 */
405 	public final boolean isAriaLabelSetted() {
406 		return engine.isPropertySetted(Properties.ARIA_LABEL);
407 	}
408 
409 	public void setAriaLabel(java.lang.String ariaLabel) {
410 		engine.setProperty(Properties.ARIA_LABEL, ariaLabel);
411 	}
412 
413 	public int getAriaLevel() {
414 		return getAriaLevel(null);
415 	}
416 
417 	/**
418 	 * See {@link #getAriaLevel() getAriaLevel()} for more details
419 	 */
420 	public int getAriaLevel(javax.faces.context.FacesContext facesContext) {
421 		return engine.getIntProperty(Properties.ARIA_LEVEL,0, facesContext);
422 	}
423 
424 	/**
425 	 * Returns <code>true</code> if the attribute "ariaLevel" is set.
426 	 * @return <code>true</code> if the attribute is set.
427 	 */
428 	public final boolean isAriaLevelSetted() {
429 		return engine.isPropertySetted(Properties.ARIA_LEVEL);
430 	}
431 
432 	public void setAriaLevel(int ariaLevel) {
433 		engine.setProperty(Properties.ARIA_LEVEL, ariaLevel);
434 	}
435 
436 	public java.lang.String getWaiRole() {
437 		return getWaiRole(null);
438 	}
439 
440 	/**
441 	 * See {@link #getWaiRole() getWaiRole()} for more details
442 	 */
443 	public java.lang.String getWaiRole(javax.faces.context.FacesContext facesContext) {
444 		return engine.getStringProperty(Properties.WAI_ROLE, facesContext);
445 	}
446 
447 	/**
448 	 * Returns <code>true</code> if the attribute "waiRole" is set.
449 	 * @return <code>true</code> if the attribute is set.
450 	 */
451 	public final boolean isWaiRoleSetted() {
452 		return engine.isPropertySetted(Properties.WAI_ROLE);
453 	}
454 
455 	public void setWaiRole(java.lang.String waiRole) {
456 		engine.setProperty(Properties.WAI_ROLE, waiRole);
457 	}
458 
459 	public java.lang.String getX() {
460 		return getX(null);
461 	}
462 
463 	/**
464 	 * See {@link #getX() getX()} for more details
465 	 */
466 	public java.lang.String getX(javax.faces.context.FacesContext facesContext) {
467 		return engine.getStringProperty(Properties.X, facesContext);
468 	}
469 
470 	/**
471 	 * Returns <code>true</code> if the attribute "x" is set.
472 	 * @return <code>true</code> if the attribute is set.
473 	 */
474 	public final boolean isXSetted() {
475 		return engine.isPropertySetted(Properties.X);
476 	}
477 
478 	public void setX(java.lang.String x) {
479 		engine.setProperty(Properties.X, x);
480 	}
481 
482 	public java.lang.String getY() {
483 		return getY(null);
484 	}
485 
486 	/**
487 	 * See {@link #getY() getY()} for more details
488 	 */
489 	public java.lang.String getY(javax.faces.context.FacesContext facesContext) {
490 		return engine.getStringProperty(Properties.Y, facesContext);
491 	}
492 
493 	/**
494 	 * Returns <code>true</code> if the attribute "y" is set.
495 	 * @return <code>true</code> if the attribute is set.
496 	 */
497 	public final boolean isYSetted() {
498 		return engine.isPropertySetted(Properties.Y);
499 	}
500 
501 	public void setY(java.lang.String y) {
502 		engine.setProperty(Properties.Y, y);
503 	}
504 
505 	public int getBottom() {
506 		return getBottom(null);
507 	}
508 
509 	/**
510 	 * See {@link #getBottom() getBottom()} for more details
511 	 */
512 	public int getBottom(javax.faces.context.FacesContext facesContext) {
513 		return engine.getIntProperty(Properties.BOTTOM,0, facesContext);
514 	}
515 
516 	/**
517 	 * Returns <code>true</code> if the attribute "bottom" is set.
518 	 * @return <code>true</code> if the attribute is set.
519 	 */
520 	public final boolean isBottomSetted() {
521 		return engine.isPropertySetted(Properties.BOTTOM);
522 	}
523 
524 	public void setBottom(int bottom) {
525 		engine.setProperty(Properties.BOTTOM, bottom);
526 	}
527 
528 	public int getLeft() {
529 		return getLeft(null);
530 	}
531 
532 	/**
533 	 * See {@link #getLeft() getLeft()} for more details
534 	 */
535 	public int getLeft(javax.faces.context.FacesContext facesContext) {
536 		return engine.getIntProperty(Properties.LEFT,0, facesContext);
537 	}
538 
539 	/**
540 	 * Returns <code>true</code> if the attribute "left" is set.
541 	 * @return <code>true</code> if the attribute is set.
542 	 */
543 	public final boolean isLeftSetted() {
544 		return engine.isPropertySetted(Properties.LEFT);
545 	}
546 
547 	public void setLeft(int left) {
548 		engine.setProperty(Properties.LEFT, left);
549 	}
550 
551 	public int getRight() {
552 		return getRight(null);
553 	}
554 
555 	/**
556 	 * See {@link #getRight() getRight()} for more details
557 	 */
558 	public int getRight(javax.faces.context.FacesContext facesContext) {
559 		return engine.getIntProperty(Properties.RIGHT,0, facesContext);
560 	}
561 
562 	/**
563 	 * Returns <code>true</code> if the attribute "right" is set.
564 	 * @return <code>true</code> if the attribute is set.
565 	 */
566 	public final boolean isRightSetted() {
567 		return engine.isPropertySetted(Properties.RIGHT);
568 	}
569 
570 	public void setRight(int right) {
571 		engine.setProperty(Properties.RIGHT, right);
572 	}
573 
574 	public int getTop() {
575 		return getTop(null);
576 	}
577 
578 	/**
579 	 * See {@link #getTop() getTop()} for more details
580 	 */
581 	public int getTop(javax.faces.context.FacesContext facesContext) {
582 		return engine.getIntProperty(Properties.TOP,0, facesContext);
583 	}
584 
585 	/**
586 	 * Returns <code>true</code> if the attribute "top" is set.
587 	 * @return <code>true</code> if the attribute is set.
588 	 */
589 	public final boolean isTopSetted() {
590 		return engine.isPropertySetted(Properties.TOP);
591 	}
592 
593 	public void setTop(int top) {
594 		engine.setProperty(Properties.TOP, top);
595 	}
596 
597 	public java.lang.String getWidth() {
598 		return getWidth(null);
599 	}
600 
601 	/**
602 	 * See {@link #getWidth() getWidth()} for more details
603 	 */
604 	public java.lang.String getWidth(javax.faces.context.FacesContext facesContext) {
605 		return engine.getStringProperty(Properties.WIDTH, facesContext);
606 	}
607 
608 	/**
609 	 * Returns <code>true</code> if the attribute "width" is set.
610 	 * @return <code>true</code> if the attribute is set.
611 	 */
612 	public final boolean isWidthSetted() {
613 		return engine.isPropertySetted(Properties.WIDTH);
614 	}
615 
616 	public void setWidth(java.lang.String width) {
617 		engine.setProperty(Properties.WIDTH, width);
618 	}
619 
620 	public java.lang.String getHeight() {
621 		return getHeight(null);
622 	}
623 
624 	/**
625 	 * See {@link #getHeight() getHeight()} for more details
626 	 */
627 	public java.lang.String getHeight(javax.faces.context.FacesContext facesContext) {
628 		return engine.getStringProperty(Properties.HEIGHT, facesContext);
629 	}
630 
631 	/**
632 	 * Returns <code>true</code> if the attribute "height" is set.
633 	 * @return <code>true</code> if the attribute is set.
634 	 */
635 	public final boolean isHeightSetted() {
636 		return engine.isPropertySetted(Properties.HEIGHT);
637 	}
638 
639 	public void setHeight(java.lang.String height) {
640 		engine.setProperty(Properties.HEIGHT, height);
641 	}
642 
643 	public java.lang.String getMarginBottom() {
644 		return getMarginBottom(null);
645 	}
646 
647 	/**
648 	 * See {@link #getMarginBottom() getMarginBottom()} for more details
649 	 */
650 	public java.lang.String getMarginBottom(javax.faces.context.FacesContext facesContext) {
651 		return engine.getStringProperty(Properties.MARGIN_BOTTOM, facesContext);
652 	}
653 
654 	/**
655 	 * Returns <code>true</code> if the attribute "marginBottom" is set.
656 	 * @return <code>true</code> if the attribute is set.
657 	 */
658 	public final boolean isMarginBottomSetted() {
659 		return engine.isPropertySetted(Properties.MARGIN_BOTTOM);
660 	}
661 
662 	public void setMarginBottom(java.lang.String marginBottom) {
663 		engine.setProperty(Properties.MARGIN_BOTTOM, marginBottom);
664 	}
665 
666 	public java.lang.String getMarginLeft() {
667 		return getMarginLeft(null);
668 	}
669 
670 	/**
671 	 * See {@link #getMarginLeft() getMarginLeft()} for more details
672 	 */
673 	public java.lang.String getMarginLeft(javax.faces.context.FacesContext facesContext) {
674 		return engine.getStringProperty(Properties.MARGIN_LEFT, facesContext);
675 	}
676 
677 	/**
678 	 * Returns <code>true</code> if the attribute "marginLeft" is set.
679 	 * @return <code>true</code> if the attribute is set.
680 	 */
681 	public final boolean isMarginLeftSetted() {
682 		return engine.isPropertySetted(Properties.MARGIN_LEFT);
683 	}
684 
685 	public void setMarginLeft(java.lang.String marginLeft) {
686 		engine.setProperty(Properties.MARGIN_LEFT, marginLeft);
687 	}
688 
689 	public java.lang.String getMarginRight() {
690 		return getMarginRight(null);
691 	}
692 
693 	/**
694 	 * See {@link #getMarginRight() getMarginRight()} for more details
695 	 */
696 	public java.lang.String getMarginRight(javax.faces.context.FacesContext facesContext) {
697 		return engine.getStringProperty(Properties.MARGIN_RIGHT, facesContext);
698 	}
699 
700 	/**
701 	 * Returns <code>true</code> if the attribute "marginRight" is set.
702 	 * @return <code>true</code> if the attribute is set.
703 	 */
704 	public final boolean isMarginRightSetted() {
705 		return engine.isPropertySetted(Properties.MARGIN_RIGHT);
706 	}
707 
708 	public void setMarginRight(java.lang.String marginRight) {
709 		engine.setProperty(Properties.MARGIN_RIGHT, marginRight);
710 	}
711 
712 	public java.lang.String getMarginTop() {
713 		return getMarginTop(null);
714 	}
715 
716 	/**
717 	 * See {@link #getMarginTop() getMarginTop()} for more details
718 	 */
719 	public java.lang.String getMarginTop(javax.faces.context.FacesContext facesContext) {
720 		return engine.getStringProperty(Properties.MARGIN_TOP, facesContext);
721 	}
722 
723 	/**
724 	 * Returns <code>true</code> if the attribute "marginTop" is set.
725 	 * @return <code>true</code> if the attribute is set.
726 	 */
727 	public final boolean isMarginTopSetted() {
728 		return engine.isPropertySetted(Properties.MARGIN_TOP);
729 	}
730 
731 	public void setMarginTop(java.lang.String marginTop) {
732 		engine.setProperty(Properties.MARGIN_TOP, marginTop);
733 	}
734 
735 	public java.lang.String getHelpMessage() {
736 		return getHelpMessage(null);
737 	}
738 
739 	/**
740 	 * See {@link #getHelpMessage() getHelpMessage()} for more details
741 	 */
742 	public java.lang.String getHelpMessage(javax.faces.context.FacesContext facesContext) {
743 		return engine.getStringProperty(Properties.HELP_MESSAGE, facesContext);
744 	}
745 
746 	/**
747 	 * Returns <code>true</code> if the attribute "helpMessage" is set.
748 	 * @return <code>true</code> if the attribute is set.
749 	 */
750 	public final boolean isHelpMessageSetted() {
751 		return engine.isPropertySetted(Properties.HELP_MESSAGE);
752 	}
753 
754 	public void setHelpMessage(java.lang.String helpMessage) {
755 		engine.setProperty(Properties.HELP_MESSAGE, helpMessage);
756 	}
757 
758 	public java.lang.String getHelpURL() {
759 		return getHelpURL(null);
760 	}
761 
762 	/**
763 	 * See {@link #getHelpURL() getHelpURL()} for more details
764 	 */
765 	public java.lang.String getHelpURL(javax.faces.context.FacesContext facesContext) {
766 		return engine.getStringProperty(Properties.HELP_URL, facesContext);
767 	}
768 
769 	/**
770 	 * Returns <code>true</code> if the attribute "helpURL" is set.
771 	 * @return <code>true</code> if the attribute is set.
772 	 */
773 	public final boolean isHelpURLSetted() {
774 		return engine.isPropertySetted(Properties.HELP_URL);
775 	}
776 
777 	public void setHelpURL(java.lang.String helpURL) {
778 		engine.setProperty(Properties.HELP_URL, helpURL);
779 	}
780 
781 	public java.lang.String getToolTipText() {
782 		return getToolTipText(null);
783 	}
784 
785 	/**
786 	 * See {@link #getToolTipText() getToolTipText()} for more details
787 	 */
788 	public java.lang.String getToolTipText(javax.faces.context.FacesContext facesContext) {
789 		return engine.getStringProperty(Properties.TOOL_TIP_TEXT, facesContext);
790 	}
791 
792 	/**
793 	 * Returns <code>true</code> if the attribute "toolTipText" is set.
794 	 * @return <code>true</code> if the attribute is set.
795 	 */
796 	public final boolean isToolTipTextSetted() {
797 		return engine.isPropertySetted(Properties.TOOL_TIP_TEXT);
798 	}
799 
800 	public void setToolTipText(java.lang.String toolTipText) {
801 		engine.setProperty(Properties.TOOL_TIP_TEXT, toolTipText);
802 	}
803 
804 	public java.lang.String getBackgroundColor() {
805 		return getBackgroundColor(null);
806 	}
807 
808 	/**
809 	 * See {@link #getBackgroundColor() getBackgroundColor()} for more details
810 	 */
811 	public java.lang.String getBackgroundColor(javax.faces.context.FacesContext facesContext) {
812 		return engine.getStringProperty(Properties.BACKGROUND_COLOR, facesContext);
813 	}
814 
815 	/**
816 	 * Returns <code>true</code> if the attribute "backgroundColor" is set.
817 	 * @return <code>true</code> if the attribute is set.
818 	 */
819 	public final boolean isBackgroundColorSetted() {
820 		return engine.isPropertySetted(Properties.BACKGROUND_COLOR);
821 	}
822 
823 	public void setBackgroundColor(java.lang.String backgroundColor) {
824 		engine.setProperty(Properties.BACKGROUND_COLOR, backgroundColor);
825 	}
826 
827 	public java.lang.String getForegroundColor() {
828 		return getForegroundColor(null);
829 	}
830 
831 	/**
832 	 * See {@link #getForegroundColor() getForegroundColor()} for more details
833 	 */
834 	public java.lang.String getForegroundColor(javax.faces.context.FacesContext facesContext) {
835 		return engine.getStringProperty(Properties.FOREGROUND_COLOR, facesContext);
836 	}
837 
838 	/**
839 	 * Returns <code>true</code> if the attribute "foregroundColor" is set.
840 	 * @return <code>true</code> if the attribute is set.
841 	 */
842 	public final boolean isForegroundColorSetted() {
843 		return engine.isPropertySetted(Properties.FOREGROUND_COLOR);
844 	}
845 
846 	public void setForegroundColor(java.lang.String foregroundColor) {
847 		engine.setProperty(Properties.FOREGROUND_COLOR, foregroundColor);
848 	}
849 
850 	public boolean isVisible() {
851 		return isVisible(null);
852 	}
853 
854 	/**
855 	 * See {@link #isVisible() isVisible()} for more details
856 	 */
857 	public boolean isVisible(javax.faces.context.FacesContext facesContext) {
858 		return engine.getBoolProperty(Properties.VISIBLE, true, facesContext);
859 	}
860 
861 	/**
862 	 * Returns <code>true</code> if the attribute "visible" is set.
863 	 * @return <code>true</code> if the attribute is set.
864 	 */
865 	public final boolean isVisibleSetted() {
866 		return engine.isPropertySetted(Properties.VISIBLE);
867 	}
868 
869 	public void setVisible(boolean visible) {
870 		engine.setProperty(Properties.VISIBLE, visible);
871 	}
872 
873 	public Boolean getVisibleState() {
874 
875 
876 			return getVisibleState(null);
877 		
878 	}
879 
880 	public int getHiddenMode() {
881 		return getHiddenMode(null);
882 	}
883 
884 	/**
885 	 * See {@link #getHiddenMode() getHiddenMode()} for more details
886 	 */
887 	public int getHiddenMode(javax.faces.context.FacesContext facesContext) {
888 		return engine.getIntProperty(Properties.HIDDEN_MODE,IHiddenModeCapability.DEFAULT_HIDDEN_MODE, facesContext);
889 	}
890 
891 	/**
892 	 * Returns <code>true</code> if the attribute "hiddenMode" is set.
893 	 * @return <code>true</code> if the attribute is set.
894 	 */
895 	public final boolean isHiddenModeSetted() {
896 		return engine.isPropertySetted(Properties.HIDDEN_MODE);
897 	}
898 
899 	public void setHiddenMode(int hiddenMode) {
900 		engine.setProperty(Properties.HIDDEN_MODE, hiddenMode);
901 	}
902 
903 	public java.lang.String getLookId() {
904 		return getLookId(null);
905 	}
906 
907 	/**
908 	 * See {@link #getLookId() getLookId()} for more details
909 	 */
910 	public java.lang.String getLookId(javax.faces.context.FacesContext facesContext) {
911 		return engine.getStringProperty(Properties.LOOK_ID, facesContext);
912 	}
913 
914 	/**
915 	 * Returns <code>true</code> if the attribute "lookId" is set.
916 	 * @return <code>true</code> if the attribute is set.
917 	 */
918 	public final boolean isLookIdSetted() {
919 		return engine.isPropertySetted(Properties.LOOK_ID);
920 	}
921 
922 	public void setLookId(java.lang.String lookId) {
923 		engine.setProperty(Properties.LOOK_ID, lookId);
924 	}
925 
926 	public java.lang.String getStyleClass() {
927 		return getStyleClass(null);
928 	}
929 
930 	/**
931 	 * See {@link #getStyleClass() getStyleClass()} for more details
932 	 */
933 	public java.lang.String getStyleClass(javax.faces.context.FacesContext facesContext) {
934 		return engine.getStringProperty(Properties.STYLE_CLASS, facesContext);
935 	}
936 
937 	/**
938 	 * Returns <code>true</code> if the attribute "styleClass" is set.
939 	 * @return <code>true</code> if the attribute is set.
940 	 */
941 	public final boolean isStyleClassSetted() {
942 		return engine.isPropertySetted(Properties.STYLE_CLASS);
943 	}
944 
945 	public void setStyleClass(java.lang.String styleClass) {
946 		engine.setProperty(Properties.STYLE_CLASS, styleClass);
947 	}
948 
949 	protected Set getCameliaFields() {
950 		return CAMELIA_ATTRIBUTES;
951 	}
952 }