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