View Javadoc

1   package org.rcfaces.core.component;
2   
3   import org.rcfaces.core.component.capability.IVisibilityCapability;
4   import org.rcfaces.core.component.capability.ICellToolTipTextCapability;
5   import org.rcfaces.core.internal.component.Properties;
6   import org.rcfaces.core.component.capability.IStatesImageCapability;
7   import org.rcfaces.core.component.capability.IUserEventCapability;
8   import org.rcfaces.core.component.capability.IImageSizeCapability;
9   import org.apache.commons.logging.LogFactory;
10  import org.rcfaces.core.component.capability.IResizableCapability;
11  import javax.faces.component.ValueHolder;
12  import javax.faces.context.FacesContext;
13  import org.rcfaces.core.component.capability.ICellStyleClassCapability;
14  import org.rcfaces.core.internal.capability.ICellToolTipTextSettings;
15  import org.rcfaces.core.component.capability.IToolTipCapability;
16  import org.apache.commons.logging.Log;
17  import org.rcfaces.core.internal.capability.ICellStyleClassSettings;
18  import java.util.Set;
19  import org.rcfaces.core.component.capability.IAutoFilterCapability;
20  import org.rcfaces.core.component.capability.IInitEventCapability;
21  import org.rcfaces.core.internal.component.CameliaValueColumnComponent;
22  import org.rcfaces.core.internal.converter.OrderConverter;
23  import org.rcfaces.core.component.capability.IDoubleClickEventCapability;
24  import org.rcfaces.core.component.capability.ICellImageCapability;
25  import org.rcfaces.core.component.capability.IOrderCapability;
26  import org.rcfaces.core.component.capability.ISelectionEventCapability;
27  import org.rcfaces.core.component.familly.IContentAccessors;
28  import org.rcfaces.core.component.capability.ISortComparatorCapability;
29  import java.lang.String;
30  import org.rcfaces.core.component.capability.IForegroundBackgroundColorCapability;
31  import org.rcfaces.core.component.capability.IHiddenModeCapability;
32  import org.rcfaces.core.internal.tools.ImageAccessorTools;
33  import org.rcfaces.core.internal.converter.AlignmentNormalizer;
34  import javax.faces.convert.Converter;
35  import org.rcfaces.core.component.capability.ITextDirectionCapability;
36  import org.rcfaces.core.component.capability.IAlignmentCapability;
37  import javax.el.ValueExpression;
38  import org.rcfaces.core.component.capability.ISortEventCapability;
39  import java.util.HashSet;
40  import org.rcfaces.core.component.capability.IWidthRangeCapability;
41  import org.rcfaces.core.component.capability.IStyleClassCapability;
42  import java.util.Arrays;
43  import org.rcfaces.core.internal.converter.HiddenModeConverter;
44  import org.rcfaces.core.internal.capability.IImageAccessorsCapability;
45  import org.rcfaces.core.internal.capability.ICellImageSettings;
46  import org.rcfaces.core.component.capability.IVerticalAlignmentCapability;
47  import org.rcfaces.core.component.capability.ITextCapability;
48  
49  public class ComboColumnComponent extends CameliaValueColumnComponent implements 
50  	IVisibilityCapability,
51  	IHiddenModeCapability,
52  	ITextCapability,
53  	ITextDirectionCapability,
54  	IToolTipCapability,
55  	IAlignmentCapability,
56  	IForegroundBackgroundColorCapability,
57  	ISortEventCapability,
58  	IStyleClassCapability,
59  	IOrderCapability,
60  	ISortComparatorCapability,
61  	IResizableCapability,
62  	IStatesImageCapability,
63  	IImageSizeCapability,
64  	IWidthRangeCapability,
65  	IVerticalAlignmentCapability,
66  	IAutoFilterCapability,
67  	ICellImageCapability,
68  	ICellStyleClassCapability,
69  	ICellToolTipTextCapability,
70  	ISelectionEventCapability,
71  	IDoubleClickEventCapability,
72  	IUserEventCapability,
73  	IInitEventCapability,
74  	IImageAccessorsCapability,
75  	ValueHolder,
76  	ICellStyleClassSettings,
77  	ICellToolTipTextSettings,
78  	ICellImageSettings {
79  
80  	private static final Log LOG = LogFactory.getLog(ComboColumnComponent.class);
81  
82  	public static final String COMPONENT_TYPE="org.rcfaces.core.comboColumn";
83  
84  	protected static final Set CAMELIA_ATTRIBUTES=new HashSet(CameliaValueColumnComponent.CAMELIA_ATTRIBUTES);
85  	static {
86  		CAMELIA_ATTRIBUTES.addAll(Arrays.asList(new String[] {"disabledImageURL","alignment","defaultCellImageURL","visible","backgroundColor","minWidth","sortComparator","autoFilter","cellStyleClass","cellImageURL","selectedImageURL","selectionListener","hiddenMode","value","defaultCellStyleClass","maxWidth","resizable","ascending","foregroundColor","imageHeight","text","cellToolTipText","userEventListener","styleClass","hoverImageURL","width","doubleClickListener","cellDefaultToolTipText","initListener","textDirection","verticalAlignment","sortListener","toolTipText","imageURL","imageWidth"}));
87  	}
88  
89  	public ComboColumnComponent() {
90  		setRendererType(null);
91  	}
92  
93  	public ComboColumnComponent(String componentId) {
94  		this();
95  		setId(componentId);
96  	}
97  
98  	public void setConverter(Converter converter) {
99  
100 
101         	engine.setProperty("converter", converter);
102 		
103 	}
104 
105 	public Object getValue() {
106 
107 
108 				return getValue(null);
109 			
110 	}
111 
112 	public Object getLocalValue() {
113 
114 
115 				return engine.getLocalValue(Properties.VALUE);
116 			
117 	}
118 
119 	public Converter getConverter() {
120 
121 
122         	return (Converter)engine.getProperty("converter", null);
123 		
124 	}
125 
126 	public void setValue(Object value) {
127 
128 
129 				engine.setValue(Properties.VALUE, value);
130 			
131 	}
132 
133 	public IContentAccessors getImageAccessors(FacesContext facesContext) {
134 
135 
136 			return ImageAccessorTools.createImageAccessors(facesContext, this, engine);
137 		
138 	}
139 
140 	public void setConverter(String converterId) {
141 
142 
143 			 setConverter(null, converterId);
144 		
145 	}
146 
147 	public void setConverter(FacesContext facesContext, String converterId) {
148 
149 
150 			if (facesContext==null) {
151 				facesContext=FacesContext.getCurrentInstance();
152 			}
153 			Converter converter = facesContext.getApplication().createConverter(converterId);
154             this.setConverter(converter);
155 		
156 	}
157 
158 	public Boolean getVisibleState(FacesContext facesContext) {
159 
160 
161 			if (engine.isPropertySetted(Properties.VISIBLE)==false) {
162 				return null;
163 			}
164 			
165 			return Boolean.valueOf(isVisible(facesContext));
166 		
167 	}
168 
169 	public Object getValue(FacesContext context) {
170 
171 
172 				return engine.getValue(Properties.VALUE, context);
173 			
174 	}
175 
176 	public void setHiddenMode(String hiddenMode) {
177 
178 
179 			setHiddenMode(((Integer)HiddenModeConverter.SINGLETON.getAsObject(null, this, hiddenMode)).intValue());
180 		
181 	}
182 
183 	public void setAscending(String order) {
184 
185 
186 			setAscending(((Boolean)OrderConverter.SINGLETON.getAsObject(null, this, order)).booleanValue());
187 		
188 	}
189 
190 	public boolean isVisible() {
191 		return isVisible(null);
192 	}
193 
194 	/**
195 	 * See {@link #isVisible() isVisible()} for more details
196 	 */
197 	public boolean isVisible(javax.faces.context.FacesContext facesContext) {
198 		return engine.getBoolProperty(Properties.VISIBLE, true, facesContext);
199 	}
200 
201 	/**
202 	 * Returns <code>true</code> if the attribute "visible" is set.
203 	 * @return <code>true</code> if the attribute is set.
204 	 */
205 	public final boolean isVisibleSetted() {
206 		return engine.isPropertySetted(Properties.VISIBLE);
207 	}
208 
209 	public void setVisible(boolean visible) {
210 		engine.setProperty(Properties.VISIBLE, visible);
211 	}
212 
213 	public Boolean getVisibleState() {
214 
215 
216 			return getVisibleState(null);
217 		
218 	}
219 
220 	public int getHiddenMode() {
221 		return getHiddenMode(null);
222 	}
223 
224 	/**
225 	 * See {@link #getHiddenMode() getHiddenMode()} for more details
226 	 */
227 	public int getHiddenMode(javax.faces.context.FacesContext facesContext) {
228 		return engine.getIntProperty(Properties.HIDDEN_MODE,IHiddenModeCapability.DEFAULT_HIDDEN_MODE, facesContext);
229 	}
230 
231 	/**
232 	 * Returns <code>true</code> if the attribute "hiddenMode" is set.
233 	 * @return <code>true</code> if the attribute is set.
234 	 */
235 	public final boolean isHiddenModeSetted() {
236 		return engine.isPropertySetted(Properties.HIDDEN_MODE);
237 	}
238 
239 	public void setHiddenMode(int hiddenMode) {
240 		engine.setProperty(Properties.HIDDEN_MODE, hiddenMode);
241 	}
242 
243 	public java.lang.String getText() {
244 		return getText(null);
245 	}
246 
247 	/**
248 	 * See {@link #getText() getText()} for more details
249 	 */
250 	public java.lang.String getText(javax.faces.context.FacesContext facesContext) {
251 		return engine.getStringProperty(Properties.TEXT, facesContext);
252 	}
253 
254 	/**
255 	 * Returns <code>true</code> if the attribute "text" is set.
256 	 * @return <code>true</code> if the attribute is set.
257 	 */
258 	public final boolean isTextSetted() {
259 		return engine.isPropertySetted(Properties.TEXT);
260 	}
261 
262 	public void setText(java.lang.String text) {
263 		engine.setProperty(Properties.TEXT, text);
264 	}
265 
266 	public int getTextDirection() {
267 		return getTextDirection(null);
268 	}
269 
270 	/**
271 	 * See {@link #getTextDirection() getTextDirection()} for more details
272 	 */
273 	public int getTextDirection(javax.faces.context.FacesContext facesContext) {
274 		return engine.getIntProperty(Properties.TEXT_DIRECTION,0, facesContext);
275 	}
276 
277 	/**
278 	 * Returns <code>true</code> if the attribute "textDirection" is set.
279 	 * @return <code>true</code> if the attribute is set.
280 	 */
281 	public final boolean isTextDirectionSetted() {
282 		return engine.isPropertySetted(Properties.TEXT_DIRECTION);
283 	}
284 
285 	public void setTextDirection(int textDirection) {
286 		engine.setProperty(Properties.TEXT_DIRECTION, textDirection);
287 	}
288 
289 	public java.lang.String getToolTipText() {
290 		return getToolTipText(null);
291 	}
292 
293 	/**
294 	 * See {@link #getToolTipText() getToolTipText()} for more details
295 	 */
296 	public java.lang.String getToolTipText(javax.faces.context.FacesContext facesContext) {
297 		return engine.getStringProperty(Properties.TOOL_TIP_TEXT, facesContext);
298 	}
299 
300 	/**
301 	 * Returns <code>true</code> if the attribute "toolTipText" is set.
302 	 * @return <code>true</code> if the attribute is set.
303 	 */
304 	public final boolean isToolTipTextSetted() {
305 		return engine.isPropertySetted(Properties.TOOL_TIP_TEXT);
306 	}
307 
308 	public void setToolTipText(java.lang.String toolTipText) {
309 		engine.setProperty(Properties.TOOL_TIP_TEXT, toolTipText);
310 	}
311 
312 	public java.lang.String getAlignment() {
313 		return getAlignment(null);
314 	}
315 
316 	/**
317 	 * See {@link #getAlignment() getAlignment()} for more details
318 	 */
319 	public java.lang.String getAlignment(javax.faces.context.FacesContext facesContext) {
320 		return engine.getStringProperty(Properties.ALIGNMENT, facesContext);
321 	}
322 
323 	/**
324 	 * Returns <code>true</code> if the attribute "alignment" is set.
325 	 * @return <code>true</code> if the attribute is set.
326 	 */
327 	public final boolean isAlignmentSetted() {
328 		return engine.isPropertySetted(Properties.ALIGNMENT);
329 	}
330 
331 	public void setAlignment(String alignment) {
332 
333 
334 			engine.setProperty(Properties.ALIGNMENT, AlignmentNormalizer.normalize(alignment));
335     	
336 	}
337 
338 	public java.lang.String getBackgroundColor() {
339 		return getBackgroundColor(null);
340 	}
341 
342 	/**
343 	 * See {@link #getBackgroundColor() getBackgroundColor()} for more details
344 	 */
345 	public java.lang.String getBackgroundColor(javax.faces.context.FacesContext facesContext) {
346 		return engine.getStringProperty(Properties.BACKGROUND_COLOR, facesContext);
347 	}
348 
349 	/**
350 	 * Returns <code>true</code> if the attribute "backgroundColor" is set.
351 	 * @return <code>true</code> if the attribute is set.
352 	 */
353 	public final boolean isBackgroundColorSetted() {
354 		return engine.isPropertySetted(Properties.BACKGROUND_COLOR);
355 	}
356 
357 	public void setBackgroundColor(java.lang.String backgroundColor) {
358 		engine.setProperty(Properties.BACKGROUND_COLOR, backgroundColor);
359 	}
360 
361 	public java.lang.String getForegroundColor() {
362 		return getForegroundColor(null);
363 	}
364 
365 	/**
366 	 * See {@link #getForegroundColor() getForegroundColor()} for more details
367 	 */
368 	public java.lang.String getForegroundColor(javax.faces.context.FacesContext facesContext) {
369 		return engine.getStringProperty(Properties.FOREGROUND_COLOR, facesContext);
370 	}
371 
372 	/**
373 	 * Returns <code>true</code> if the attribute "foregroundColor" is set.
374 	 * @return <code>true</code> if the attribute is set.
375 	 */
376 	public final boolean isForegroundColorSetted() {
377 		return engine.isPropertySetted(Properties.FOREGROUND_COLOR);
378 	}
379 
380 	public void setForegroundColor(java.lang.String foregroundColor) {
381 		engine.setProperty(Properties.FOREGROUND_COLOR, foregroundColor);
382 	}
383 
384 	public final void addSortListener(org.rcfaces.core.event.ISortListener listener) {
385 		addFacesListener(listener);
386 	}
387 
388 	public final void removeSortListener(org.rcfaces.core.event.ISortListener listener) {
389 		removeFacesListener(listener);
390 	}
391 
392 	public final javax.faces.event.FacesListener [] listSortListeners() {
393 		return getFacesListeners(org.rcfaces.core.event.ISortListener.class);
394 	}
395 
396 	public java.lang.String getStyleClass() {
397 		return getStyleClass(null);
398 	}
399 
400 	/**
401 	 * See {@link #getStyleClass() getStyleClass()} for more details
402 	 */
403 	public java.lang.String getStyleClass(javax.faces.context.FacesContext facesContext) {
404 		return engine.getStringProperty(Properties.STYLE_CLASS, facesContext);
405 	}
406 
407 	/**
408 	 * Returns <code>true</code> if the attribute "styleClass" is set.
409 	 * @return <code>true</code> if the attribute is set.
410 	 */
411 	public final boolean isStyleClassSetted() {
412 		return engine.isPropertySetted(Properties.STYLE_CLASS);
413 	}
414 
415 	public void setStyleClass(java.lang.String styleClass) {
416 		engine.setProperty(Properties.STYLE_CLASS, styleClass);
417 	}
418 
419 	public boolean isAscending() {
420 		return isAscending(null);
421 	}
422 
423 	/**
424 	 * See {@link #isAscending() isAscending()} for more details
425 	 */
426 	public boolean isAscending(javax.faces.context.FacesContext facesContext) {
427 		return engine.getBoolProperty(Properties.ASCENDING, false, facesContext);
428 	}
429 
430 	/**
431 	 * Returns <code>true</code> if the attribute "ascending" is set.
432 	 * @return <code>true</code> if the attribute is set.
433 	 */
434 	public final boolean isAscendingSetted() {
435 		return engine.isPropertySetted(Properties.ASCENDING);
436 	}
437 
438 	public void setAscending(boolean ascending) {
439 		engine.setProperty(Properties.ASCENDING, ascending);
440 	}
441 
442 	public java.util.Comparator getSortComparator() {
443 		return getSortComparator(null);
444 	}
445 
446 	/**
447 	 * See {@link #getSortComparator() getSortComparator()} for more details
448 	 */
449 	public java.util.Comparator getSortComparator(javax.faces.context.FacesContext facesContext) {
450 		return (java.util.Comparator)engine.getProperty(Properties.SORT_COMPARATOR, facesContext);
451 	}
452 
453 	/**
454 	 * Returns <code>true</code> if the attribute "sortComparator" is set.
455 	 * @return <code>true</code> if the attribute is set.
456 	 */
457 	public final boolean isSortComparatorSetted() {
458 		return engine.isPropertySetted(Properties.SORT_COMPARATOR);
459 	}
460 
461 	public void setSortComparator(java.util.Comparator sortComparator) {
462 		engine.setProperty(Properties.SORT_COMPARATOR, sortComparator);
463 	}
464 
465 	public boolean isResizable() {
466 		return isResizable(null);
467 	}
468 
469 	/**
470 	 * See {@link #isResizable() isResizable()} for more details
471 	 */
472 	public boolean isResizable(javax.faces.context.FacesContext facesContext) {
473 		return engine.getBoolProperty(Properties.RESIZABLE, false, facesContext);
474 	}
475 
476 	/**
477 	 * Returns <code>true</code> if the attribute "resizable" is set.
478 	 * @return <code>true</code> if the attribute is set.
479 	 */
480 	public final boolean isResizableSetted() {
481 		return engine.isPropertySetted(Properties.RESIZABLE);
482 	}
483 
484 	public void setResizable(boolean resizable) {
485 		engine.setProperty(Properties.RESIZABLE, resizable);
486 	}
487 
488 	public java.lang.String getDisabledImageURL() {
489 		return getDisabledImageURL(null);
490 	}
491 
492 	/**
493 	 * See {@link #getDisabledImageURL() getDisabledImageURL()} for more details
494 	 */
495 	public java.lang.String getDisabledImageURL(javax.faces.context.FacesContext facesContext) {
496 		return engine.getStringProperty(Properties.DISABLED_IMAGE_URL, facesContext);
497 	}
498 
499 	/**
500 	 * Returns <code>true</code> if the attribute "disabledImageURL" is set.
501 	 * @return <code>true</code> if the attribute is set.
502 	 */
503 	public final boolean isDisabledImageURLSetted() {
504 		return engine.isPropertySetted(Properties.DISABLED_IMAGE_URL);
505 	}
506 
507 	public void setDisabledImageURL(java.lang.String disabledImageURL) {
508 		engine.setProperty(Properties.DISABLED_IMAGE_URL, disabledImageURL);
509 	}
510 
511 	public java.lang.String getHoverImageURL() {
512 		return getHoverImageURL(null);
513 	}
514 
515 	/**
516 	 * See {@link #getHoverImageURL() getHoverImageURL()} for more details
517 	 */
518 	public java.lang.String getHoverImageURL(javax.faces.context.FacesContext facesContext) {
519 		return engine.getStringProperty(Properties.HOVER_IMAGE_URL, facesContext);
520 	}
521 
522 	/**
523 	 * Returns <code>true</code> if the attribute "hoverImageURL" is set.
524 	 * @return <code>true</code> if the attribute is set.
525 	 */
526 	public final boolean isHoverImageURLSetted() {
527 		return engine.isPropertySetted(Properties.HOVER_IMAGE_URL);
528 	}
529 
530 	public void setHoverImageURL(java.lang.String hoverImageURL) {
531 		engine.setProperty(Properties.HOVER_IMAGE_URL, hoverImageURL);
532 	}
533 
534 	public java.lang.String getSelectedImageURL() {
535 		return getSelectedImageURL(null);
536 	}
537 
538 	/**
539 	 * See {@link #getSelectedImageURL() getSelectedImageURL()} for more details
540 	 */
541 	public java.lang.String getSelectedImageURL(javax.faces.context.FacesContext facesContext) {
542 		return engine.getStringProperty(Properties.SELECTED_IMAGE_URL, facesContext);
543 	}
544 
545 	/**
546 	 * Returns <code>true</code> if the attribute "selectedImageURL" is set.
547 	 * @return <code>true</code> if the attribute is set.
548 	 */
549 	public final boolean isSelectedImageURLSetted() {
550 		return engine.isPropertySetted(Properties.SELECTED_IMAGE_URL);
551 	}
552 
553 	public void setSelectedImageURL(java.lang.String selectedImageURL) {
554 		engine.setProperty(Properties.SELECTED_IMAGE_URL, selectedImageURL);
555 	}
556 
557 	public java.lang.String getImageURL() {
558 		return getImageURL(null);
559 	}
560 
561 	/**
562 	 * See {@link #getImageURL() getImageURL()} for more details
563 	 */
564 	public java.lang.String getImageURL(javax.faces.context.FacesContext facesContext) {
565 		return engine.getStringProperty(Properties.IMAGE_URL, facesContext);
566 	}
567 
568 	/**
569 	 * Returns <code>true</code> if the attribute "imageURL" is set.
570 	 * @return <code>true</code> if the attribute is set.
571 	 */
572 	public final boolean isImageURLSetted() {
573 		return engine.isPropertySetted(Properties.IMAGE_URL);
574 	}
575 
576 	public void setImageURL(java.lang.String imageURL) {
577 		engine.setProperty(Properties.IMAGE_URL, imageURL);
578 	}
579 
580 	public IContentAccessors getImageAccessors() {
581 
582 
583 			return getImageAccessors(null);
584 		
585 	}
586 
587 	public int getImageHeight() {
588 		return getImageHeight(null);
589 	}
590 
591 	/**
592 	 * See {@link #getImageHeight() getImageHeight()} for more details
593 	 */
594 	public int getImageHeight(javax.faces.context.FacesContext facesContext) {
595 		return engine.getIntProperty(Properties.IMAGE_HEIGHT,0, facesContext);
596 	}
597 
598 	/**
599 	 * Returns <code>true</code> if the attribute "imageHeight" is set.
600 	 * @return <code>true</code> if the attribute is set.
601 	 */
602 	public final boolean isImageHeightSetted() {
603 		return engine.isPropertySetted(Properties.IMAGE_HEIGHT);
604 	}
605 
606 	public void setImageHeight(int imageHeight) {
607 		engine.setProperty(Properties.IMAGE_HEIGHT, imageHeight);
608 	}
609 
610 	public int getImageWidth() {
611 		return getImageWidth(null);
612 	}
613 
614 	/**
615 	 * See {@link #getImageWidth() getImageWidth()} for more details
616 	 */
617 	public int getImageWidth(javax.faces.context.FacesContext facesContext) {
618 		return engine.getIntProperty(Properties.IMAGE_WIDTH,0, facesContext);
619 	}
620 
621 	/**
622 	 * Returns <code>true</code> if the attribute "imageWidth" is set.
623 	 * @return <code>true</code> if the attribute is set.
624 	 */
625 	public final boolean isImageWidthSetted() {
626 		return engine.isPropertySetted(Properties.IMAGE_WIDTH);
627 	}
628 
629 	public void setImageWidth(int imageWidth) {
630 		engine.setProperty(Properties.IMAGE_WIDTH, imageWidth);
631 	}
632 
633 	public int getMaxWidth() {
634 		return getMaxWidth(null);
635 	}
636 
637 	/**
638 	 * See {@link #getMaxWidth() getMaxWidth()} for more details
639 	 */
640 	public int getMaxWidth(javax.faces.context.FacesContext facesContext) {
641 		return engine.getIntProperty(Properties.MAX_WIDTH,0, facesContext);
642 	}
643 
644 	/**
645 	 * Returns <code>true</code> if the attribute "maxWidth" is set.
646 	 * @return <code>true</code> if the attribute is set.
647 	 */
648 	public final boolean isMaxWidthSetted() {
649 		return engine.isPropertySetted(Properties.MAX_WIDTH);
650 	}
651 
652 	public void setMaxWidth(int maxWidth) {
653 		engine.setProperty(Properties.MAX_WIDTH, maxWidth);
654 	}
655 
656 	public int getMinWidth() {
657 		return getMinWidth(null);
658 	}
659 
660 	/**
661 	 * See {@link #getMinWidth() getMinWidth()} for more details
662 	 */
663 	public int getMinWidth(javax.faces.context.FacesContext facesContext) {
664 		return engine.getIntProperty(Properties.MIN_WIDTH,0, facesContext);
665 	}
666 
667 	/**
668 	 * Returns <code>true</code> if the attribute "minWidth" is set.
669 	 * @return <code>true</code> if the attribute is set.
670 	 */
671 	public final boolean isMinWidthSetted() {
672 		return engine.isPropertySetted(Properties.MIN_WIDTH);
673 	}
674 
675 	public void setMinWidth(int minWidth) {
676 		engine.setProperty(Properties.MIN_WIDTH, minWidth);
677 	}
678 
679 	public java.lang.String getWidth() {
680 		return getWidth(null);
681 	}
682 
683 	/**
684 	 * See {@link #getWidth() getWidth()} for more details
685 	 */
686 	public java.lang.String getWidth(javax.faces.context.FacesContext facesContext) {
687 		return engine.getStringProperty(Properties.WIDTH, facesContext);
688 	}
689 
690 	/**
691 	 * Returns <code>true</code> if the attribute "width" is set.
692 	 * @return <code>true</code> if the attribute is set.
693 	 */
694 	public final boolean isWidthSetted() {
695 		return engine.isPropertySetted(Properties.WIDTH);
696 	}
697 
698 	public void setWidth(java.lang.String width) {
699 		engine.setProperty(Properties.WIDTH, width);
700 	}
701 
702 	public java.lang.String getVerticalAlignment() {
703 		return getVerticalAlignment(null);
704 	}
705 
706 	/**
707 	 * See {@link #getVerticalAlignment() getVerticalAlignment()} for more details
708 	 */
709 	public java.lang.String getVerticalAlignment(javax.faces.context.FacesContext facesContext) {
710 		return engine.getStringProperty(Properties.VERTICAL_ALIGNMENT, facesContext);
711 	}
712 
713 	/**
714 	 * Returns <code>true</code> if the attribute "verticalAlignment" is set.
715 	 * @return <code>true</code> if the attribute is set.
716 	 */
717 	public final boolean isVerticalAlignmentSetted() {
718 		return engine.isPropertySetted(Properties.VERTICAL_ALIGNMENT);
719 	}
720 
721 	public void setVerticalAlignment(java.lang.String verticalAlignment) {
722 		engine.setProperty(Properties.VERTICAL_ALIGNMENT, verticalAlignment);
723 	}
724 
725 	public boolean isAutoFilter() {
726 		return isAutoFilter(null);
727 	}
728 
729 	/**
730 	 * See {@link #isAutoFilter() isAutoFilter()} for more details
731 	 */
732 	public boolean isAutoFilter(javax.faces.context.FacesContext facesContext) {
733 		return engine.getBoolProperty(Properties.AUTO_FILTER, false, facesContext);
734 	}
735 
736 	/**
737 	 * Returns <code>true</code> if the attribute "autoFilter" is set.
738 	 * @return <code>true</code> if the attribute is set.
739 	 */
740 	public final boolean isAutoFilterSetted() {
741 		return engine.isPropertySetted(Properties.AUTO_FILTER);
742 	}
743 
744 	public void setAutoFilter(boolean autoFilter) {
745 		engine.setProperty(Properties.AUTO_FILTER, autoFilter);
746 	}
747 
748 	public java.lang.String getCellImageURL() {
749 		return getCellImageURL(null);
750 	}
751 
752 	/**
753 	 * See {@link #getCellImageURL() getCellImageURL()} for more details
754 	 */
755 	public java.lang.String getCellImageURL(javax.faces.context.FacesContext facesContext) {
756 		return engine.getStringProperty(Properties.CELL_IMAGE_URL, facesContext);
757 	}
758 
759 	/**
760 	 * Returns <code>true</code> if the attribute "cellImageURL" is set.
761 	 * @return <code>true</code> if the attribute is set.
762 	 */
763 	public final boolean isCellImageURLSetted() {
764 		return engine.isPropertySetted(Properties.CELL_IMAGE_URL);
765 	}
766 
767 	public void setCellImageURL(java.lang.String cellImageURL) {
768 		engine.setProperty(Properties.CELL_IMAGE_URL, cellImageURL);
769 	}
770 
771 	public java.lang.String getDefaultCellImageURL() {
772 		return getDefaultCellImageURL(null);
773 	}
774 
775 	/**
776 	 * See {@link #getDefaultCellImageURL() getDefaultCellImageURL()} for more details
777 	 */
778 	public java.lang.String getDefaultCellImageURL(javax.faces.context.FacesContext facesContext) {
779 		return engine.getStringProperty(Properties.DEFAULT_CELL_IMAGE_URL, facesContext);
780 	}
781 
782 	/**
783 	 * Returns <code>true</code> if the attribute "defaultCellImageURL" is set.
784 	 * @return <code>true</code> if the attribute is set.
785 	 */
786 	public final boolean isDefaultCellImageURLSetted() {
787 		return engine.isPropertySetted(Properties.DEFAULT_CELL_IMAGE_URL);
788 	}
789 
790 	public void setDefaultCellImageURL(java.lang.String defaultCellImageURL) {
791 		engine.setProperty(Properties.DEFAULT_CELL_IMAGE_URL, defaultCellImageURL);
792 	}
793 
794 	public java.lang.String getCellStyleClass() {
795 		return getCellStyleClass(null);
796 	}
797 
798 	/**
799 	 * See {@link #getCellStyleClass() getCellStyleClass()} for more details
800 	 */
801 	public java.lang.String getCellStyleClass(javax.faces.context.FacesContext facesContext) {
802 		return engine.getStringProperty(Properties.CELL_STYLE_CLASS, facesContext);
803 	}
804 
805 	/**
806 	 * Returns <code>true</code> if the attribute "cellStyleClass" is set.
807 	 * @return <code>true</code> if the attribute is set.
808 	 */
809 	public final boolean isCellStyleClassSetted() {
810 		return engine.isPropertySetted(Properties.CELL_STYLE_CLASS);
811 	}
812 
813 	public void setCellStyleClass(java.lang.String cellStyleClass) {
814 		engine.setProperty(Properties.CELL_STYLE_CLASS, cellStyleClass);
815 	}
816 
817 	public java.lang.String getDefaultCellStyleClass() {
818 		return getDefaultCellStyleClass(null);
819 	}
820 
821 	/**
822 	 * See {@link #getDefaultCellStyleClass() getDefaultCellStyleClass()} for more details
823 	 */
824 	public java.lang.String getDefaultCellStyleClass(javax.faces.context.FacesContext facesContext) {
825 		return engine.getStringProperty(Properties.DEFAULT_CELL_STYLE_CLASS, facesContext);
826 	}
827 
828 	/**
829 	 * Returns <code>true</code> if the attribute "defaultCellStyleClass" is set.
830 	 * @return <code>true</code> if the attribute is set.
831 	 */
832 	public final boolean isDefaultCellStyleClassSetted() {
833 		return engine.isPropertySetted(Properties.DEFAULT_CELL_STYLE_CLASS);
834 	}
835 
836 	public void setDefaultCellStyleClass(java.lang.String defaultCellStyleClass) {
837 		engine.setProperty(Properties.DEFAULT_CELL_STYLE_CLASS, defaultCellStyleClass);
838 	}
839 
840 	public java.lang.String getCellDefaultToolTipText() {
841 		return getCellDefaultToolTipText(null);
842 	}
843 
844 	/**
845 	 * See {@link #getCellDefaultToolTipText() getCellDefaultToolTipText()} for more details
846 	 */
847 	public java.lang.String getCellDefaultToolTipText(javax.faces.context.FacesContext facesContext) {
848 		return engine.getStringProperty(Properties.CELL_DEFAULT_TOOL_TIP_TEXT, facesContext);
849 	}
850 
851 	/**
852 	 * Returns <code>true</code> if the attribute "cellDefaultToolTipText" is set.
853 	 * @return <code>true</code> if the attribute is set.
854 	 */
855 	public final boolean isCellDefaultToolTipTextSetted() {
856 		return engine.isPropertySetted(Properties.CELL_DEFAULT_TOOL_TIP_TEXT);
857 	}
858 
859 	public void setCellDefaultToolTipText(java.lang.String cellDefaultToolTipText) {
860 		engine.setProperty(Properties.CELL_DEFAULT_TOOL_TIP_TEXT, cellDefaultToolTipText);
861 	}
862 
863 	public java.lang.String getCellToolTipText() {
864 		return getCellToolTipText(null);
865 	}
866 
867 	/**
868 	 * See {@link #getCellToolTipText() getCellToolTipText()} for more details
869 	 */
870 	public java.lang.String getCellToolTipText(javax.faces.context.FacesContext facesContext) {
871 		return engine.getStringProperty(Properties.CELL_TOOL_TIP_TEXT, facesContext);
872 	}
873 
874 	/**
875 	 * Returns <code>true</code> if the attribute "cellToolTipText" is set.
876 	 * @return <code>true</code> if the attribute is set.
877 	 */
878 	public final boolean isCellToolTipTextSetted() {
879 		return engine.isPropertySetted(Properties.CELL_TOOL_TIP_TEXT);
880 	}
881 
882 	public void setCellToolTipText(java.lang.String cellToolTipText) {
883 		engine.setProperty(Properties.CELL_TOOL_TIP_TEXT, cellToolTipText);
884 	}
885 
886 	public final void addSelectionListener(org.rcfaces.core.event.ISelectionListener listener) {
887 		addFacesListener(listener);
888 	}
889 
890 	public final void removeSelectionListener(org.rcfaces.core.event.ISelectionListener listener) {
891 		removeFacesListener(listener);
892 	}
893 
894 	public final javax.faces.event.FacesListener [] listSelectionListeners() {
895 		return getFacesListeners(org.rcfaces.core.event.ISelectionListener.class);
896 	}
897 
898 	public final void addDoubleClickListener(org.rcfaces.core.event.IDoubleClickListener listener) {
899 		addFacesListener(listener);
900 	}
901 
902 	public final void removeDoubleClickListener(org.rcfaces.core.event.IDoubleClickListener listener) {
903 		removeFacesListener(listener);
904 	}
905 
906 	public final javax.faces.event.FacesListener [] listDoubleClickListeners() {
907 		return getFacesListeners(org.rcfaces.core.event.IDoubleClickListener.class);
908 	}
909 
910 	public final void addUserEventListener(org.rcfaces.core.event.IUserEventListener listener) {
911 		addFacesListener(listener);
912 	}
913 
914 	public final void removeUserEventListener(org.rcfaces.core.event.IUserEventListener listener) {
915 		removeFacesListener(listener);
916 	}
917 
918 	public final javax.faces.event.FacesListener [] listUserEventListeners() {
919 		return getFacesListeners(org.rcfaces.core.event.IUserEventListener.class);
920 	}
921 
922 	public final void addInitListener(org.rcfaces.core.event.IInitListener listener) {
923 		addFacesListener(listener);
924 	}
925 
926 	public final void removeInitListener(org.rcfaces.core.event.IInitListener listener) {
927 		removeFacesListener(listener);
928 	}
929 
930 	public final javax.faces.event.FacesListener [] listInitListeners() {
931 		return getFacesListeners(org.rcfaces.core.event.IInitListener.class);
932 	}
933 
934 	protected Set getCameliaFields() {
935 		return CAMELIA_ATTRIBUTES;
936 	}
937 }