1 package org.rcfaces.core.internal.taglib;
2
3 import javax.faces.application.Application;
4 import javax.faces.component.UIComponent;
5 import org.rcfaces.core.internal.component.Properties;
6 import javax.el.ValueExpression;
7 import javax.faces.component.UIViewRoot;
8 import org.apache.commons.logging.Log;
9 import org.rcfaces.core.component.DataGridComponent;
10 import javax.servlet.jsp.tagext.Tag;
11 import org.apache.commons.logging.LogFactory;
12 import org.rcfaces.core.internal.tools.ListenersTools1_2;
13 import org.rcfaces.core.internal.tools.ListenersTools;
14 import javax.faces.context.FacesContext;
15
16 public class DataGridTag extends AbstractDataTag implements Tag {
17
18
19 private static final Log LOG=LogFactory.getLog(DataGridTag.class);
20
21 private ValueExpression selectionListeners;
22 private ValueExpression selectable;
23 private ValueExpression selectionCardinality;
24 private ValueExpression selectedValues;
25 private ValueExpression dragListeners;
26 private ValueExpression dragEffects;
27 private ValueExpression dragTypes;
28 private ValueExpression draggable;
29 private ValueExpression dropListeners;
30 private ValueExpression dropCompleteListeners;
31 private ValueExpression dropEffects;
32 private ValueExpression dropTypes;
33 private ValueExpression droppable;
34 private ValueExpression checkListeners;
35 private ValueExpression checkable;
36 private ValueExpression checkCardinality;
37 private ValueExpression checkedValues;
38 private ValueExpression additionalInformationListeners;
39 private ValueExpression additionalInformationValues;
40 private ValueExpression clientAdditionalInformationFullState;
41 private ValueExpression additionalInformationCardinality;
42 private ValueExpression doubleClickListeners;
43 private ValueExpression loadListeners;
44 private ValueExpression required;
45 private ValueExpression border;
46 private ValueExpression rowStyleClass;
47 private ValueExpression emptyDataMessage;
48 private ValueExpression readOnly;
49 private ValueExpression disabled;
50 private ValueExpression horizontalScrollPosition;
51 private ValueExpression verticalScrollPosition;
52 private ValueExpression filterProperties;
53 private ValueExpression showValue;
54 private ValueExpression keySearchColumnId;
55 private ValueExpression preferences;
56 private ValueExpression paged;
57 private ValueExpression clientSelectionFullState;
58 private ValueExpression clientCheckFullState;
59 private ValueExpression headerVisible;
60 private ValueExpression cursorValue;
61 private ValueExpression rowDragTypes;
62 private ValueExpression rowDragEffects;
63 private ValueExpression rowDropTypes;
64 private ValueExpression rowDropEffects;
65 private ValueExpression rowValueColumnId;
66 private ValueExpression rowLabelColumnId;
67 private ValueExpression rowCountVar;
68 private ValueExpression rowIndexVar;
69 private ValueExpression cellTextWrap;
70 private ValueExpression bodyDroppable;
71 private ValueExpression actionListeners;
72 private ValueExpression action;
73 public String getComponentType() {
74 return DataGridComponent.COMPONENT_TYPE;
75 }
76
77 public final void setSelectionListener(ValueExpression selectionListeners) {
78 this.selectionListeners = selectionListeners;
79 }
80
81 public final void setSelectable(ValueExpression selectable) {
82 this.selectable = selectable;
83 }
84
85 public final void setSelectionCardinality(ValueExpression selectionCardinality) {
86 this.selectionCardinality = selectionCardinality;
87 }
88
89 public final void setSelectedValues(ValueExpression selectedValues) {
90 this.selectedValues = selectedValues;
91 }
92
93 public final void setDragListener(ValueExpression dragListeners) {
94 this.dragListeners = dragListeners;
95 }
96
97 public final void setDragEffects(ValueExpression dragEffects) {
98 this.dragEffects = dragEffects;
99 }
100
101 public final void setDragTypes(ValueExpression dragTypes) {
102 this.dragTypes = dragTypes;
103 }
104
105 public final void setDraggable(ValueExpression draggable) {
106 this.draggable = draggable;
107 }
108
109 public final void setDropListener(ValueExpression dropListeners) {
110 this.dropListeners = dropListeners;
111 }
112
113 public final void setDropCompleteListener(ValueExpression dropCompleteListeners) {
114 this.dropCompleteListeners = dropCompleteListeners;
115 }
116
117 public final void setDropEffects(ValueExpression dropEffects) {
118 this.dropEffects = dropEffects;
119 }
120
121 public final void setDropTypes(ValueExpression dropTypes) {
122 this.dropTypes = dropTypes;
123 }
124
125 public final void setDroppable(ValueExpression droppable) {
126 this.droppable = droppable;
127 }
128
129 public final void setCheckListener(ValueExpression checkListeners) {
130 this.checkListeners = checkListeners;
131 }
132
133 public final void setCheckable(ValueExpression checkable) {
134 this.checkable = checkable;
135 }
136
137 public final void setCheckCardinality(ValueExpression checkCardinality) {
138 this.checkCardinality = checkCardinality;
139 }
140
141 public final void setCheckedValues(ValueExpression checkedValues) {
142 this.checkedValues = checkedValues;
143 }
144
145 public final void setAdditionalInformationListener(ValueExpression additionalInformationListeners) {
146 this.additionalInformationListeners = additionalInformationListeners;
147 }
148
149 public final void setAdditionalInformationValues(ValueExpression additionalInformationValues) {
150 this.additionalInformationValues = additionalInformationValues;
151 }
152
153 public final void setClientAdditionalInformationFullState(ValueExpression clientAdditionalInformationFullState) {
154 this.clientAdditionalInformationFullState = clientAdditionalInformationFullState;
155 }
156
157 public final void setAdditionalInformationCardinality(ValueExpression additionalInformationCardinality) {
158 this.additionalInformationCardinality = additionalInformationCardinality;
159 }
160
161 public final void setDoubleClickListener(ValueExpression doubleClickListeners) {
162 this.doubleClickListeners = doubleClickListeners;
163 }
164
165 public final void setLoadListener(ValueExpression loadListeners) {
166 this.loadListeners = loadListeners;
167 }
168
169 public final void setRequired(ValueExpression required) {
170 this.required = required;
171 }
172
173 public final void setBorder(ValueExpression border) {
174 this.border = border;
175 }
176
177 public final void setRowStyleClass(ValueExpression rowStyleClass) {
178 this.rowStyleClass = rowStyleClass;
179 }
180
181 public final void setEmptyDataMessage(ValueExpression emptyDataMessage) {
182 this.emptyDataMessage = emptyDataMessage;
183 }
184
185 public final void setReadOnly(ValueExpression readOnly) {
186 this.readOnly = readOnly;
187 }
188
189 public final void setDisabled(ValueExpression disabled) {
190 this.disabled = disabled;
191 }
192
193 public final void setHorizontalScrollPosition(ValueExpression horizontalScrollPosition) {
194 this.horizontalScrollPosition = horizontalScrollPosition;
195 }
196
197 public final void setVerticalScrollPosition(ValueExpression verticalScrollPosition) {
198 this.verticalScrollPosition = verticalScrollPosition;
199 }
200
201 public final void setFilterProperties(ValueExpression filterProperties) {
202 this.filterProperties = filterProperties;
203 }
204
205 public final void setShowValue(ValueExpression showValue) {
206 this.showValue = showValue;
207 }
208
209 public final void setKeySearchColumnId(ValueExpression keySearchColumnId) {
210 this.keySearchColumnId = keySearchColumnId;
211 }
212
213 public final void setPreferences(ValueExpression preferences) {
214 this.preferences = preferences;
215 }
216
217 public final void setPaged(ValueExpression paged) {
218 this.paged = paged;
219 }
220
221 public final void setClientSelectionFullState(ValueExpression clientSelectionFullState) {
222 this.clientSelectionFullState = clientSelectionFullState;
223 }
224
225 public final void setClientCheckFullState(ValueExpression clientCheckFullState) {
226 this.clientCheckFullState = clientCheckFullState;
227 }
228
229 public final void setHeaderVisible(ValueExpression headerVisible) {
230 this.headerVisible = headerVisible;
231 }
232
233 public final void setCursorValue(ValueExpression cursorValue) {
234 this.cursorValue = cursorValue;
235 }
236
237 public final void setRowDragTypes(ValueExpression rowDragTypes) {
238 this.rowDragTypes = rowDragTypes;
239 }
240
241 public final void setRowDragEffects(ValueExpression rowDragEffects) {
242 this.rowDragEffects = rowDragEffects;
243 }
244
245 public final void setRowDropTypes(ValueExpression rowDropTypes) {
246 this.rowDropTypes = rowDropTypes;
247 }
248
249 public final void setRowDropEffects(ValueExpression rowDropEffects) {
250 this.rowDropEffects = rowDropEffects;
251 }
252
253 public final void setRowValueColumnId(ValueExpression rowValueColumnId) {
254 this.rowValueColumnId = rowValueColumnId;
255 }
256
257 public final void setRowLabelColumnId(ValueExpression rowLabelColumnId) {
258 this.rowLabelColumnId = rowLabelColumnId;
259 }
260
261 public final void setRowCountVar(ValueExpression rowCountVar) {
262 this.rowCountVar = rowCountVar;
263 }
264
265 public final void setRowIndexVar(ValueExpression rowIndexVar) {
266 this.rowIndexVar = rowIndexVar;
267 }
268
269 public final void setCellTextWrap(ValueExpression cellTextWrap) {
270 this.cellTextWrap = cellTextWrap;
271 }
272
273 public final void setBodyDroppable(ValueExpression bodyDroppable) {
274 this.bodyDroppable = bodyDroppable;
275 }
276
277 public final void setAction(ValueExpression action) {
278 this.action=action;
279 }
280
281 public final void setActionListener(ValueExpression listeners) {
282 this.actionListeners = listeners;
283 }
284
285 protected void setProperties(UIComponent uiComponent) {
286 if (LOG.isDebugEnabled()) {
287 if (DataGridComponent.COMPONENT_TYPE==getComponentType()) {
288 LOG.debug("Component id='"+getId()+"' type='"+getComponentType()+"'.");
289 }
290 LOG.debug(" selectable='"+selectable+"'");
291 LOG.debug(" selectionCardinality='"+selectionCardinality+"'");
292 LOG.debug(" selectedValues='"+selectedValues+"'");
293 LOG.debug(" dragEffects='"+dragEffects+"'");
294 LOG.debug(" dragTypes='"+dragTypes+"'");
295 LOG.debug(" draggable='"+draggable+"'");
296 LOG.debug(" dropEffects='"+dropEffects+"'");
297 LOG.debug(" dropTypes='"+dropTypes+"'");
298 LOG.debug(" droppable='"+droppable+"'");
299 LOG.debug(" checkable='"+checkable+"'");
300 LOG.debug(" checkCardinality='"+checkCardinality+"'");
301 LOG.debug(" checkedValues='"+checkedValues+"'");
302 LOG.debug(" additionalInformationValues='"+additionalInformationValues+"'");
303 LOG.debug(" clientAdditionalInformationFullState='"+clientAdditionalInformationFullState+"'");
304 LOG.debug(" additionalInformationCardinality='"+additionalInformationCardinality+"'");
305 LOG.debug(" required='"+required+"'");
306 LOG.debug(" border='"+border+"'");
307 LOG.debug(" rowStyleClass='"+rowStyleClass+"'");
308 LOG.debug(" emptyDataMessage='"+emptyDataMessage+"'");
309 LOG.debug(" readOnly='"+readOnly+"'");
310 LOG.debug(" disabled='"+disabled+"'");
311 LOG.debug(" horizontalScrollPosition='"+horizontalScrollPosition+"'");
312 LOG.debug(" verticalScrollPosition='"+verticalScrollPosition+"'");
313 LOG.debug(" filterProperties='"+filterProperties+"'");
314 LOG.debug(" showValue='"+showValue+"'");
315 LOG.debug(" keySearchColumnId='"+keySearchColumnId+"'");
316 LOG.debug(" preferences='"+preferences+"'");
317 LOG.debug(" paged='"+paged+"'");
318 LOG.debug(" clientSelectionFullState='"+clientSelectionFullState+"'");
319 LOG.debug(" clientCheckFullState='"+clientCheckFullState+"'");
320 LOG.debug(" headerVisible='"+headerVisible+"'");
321 LOG.debug(" cursorValue='"+cursorValue+"'");
322 LOG.debug(" rowDragTypes='"+rowDragTypes+"'");
323 LOG.debug(" rowDragEffects='"+rowDragEffects+"'");
324 LOG.debug(" rowDropTypes='"+rowDropTypes+"'");
325 LOG.debug(" rowDropEffects='"+rowDropEffects+"'");
326 LOG.debug(" rowValueColumnId='"+rowValueColumnId+"'");
327 LOG.debug(" rowLabelColumnId='"+rowLabelColumnId+"'");
328 LOG.debug(" rowCountVar='"+rowCountVar+"'");
329 LOG.debug(" rowIndexVar='"+rowIndexVar+"'");
330 LOG.debug(" cellTextWrap='"+cellTextWrap+"'");
331 LOG.debug(" bodyDroppable='"+bodyDroppable+"'");
332 LOG.debug(" action='"+action+"'");
333 LOG.debug(" actionListeners='"+actionListeners+"'");
334 }
335 if ((uiComponent instanceof DataGridComponent)==false) {
336 if (uiComponent instanceof UIViewRoot) {
337 throw new IllegalStateException("The first component of the page must be a UIViewRoot component !");
338 }
339 throw new IllegalStateException("Component specified by tag is not instanceof of 'DataGridComponent'.");
340 }
341
342 super.setProperties(uiComponent);
343
344 DataGridComponent component = (DataGridComponent) uiComponent;
345 FacesContext facesContext = getFacesContext();
346
347 if (selectionListeners != null) {
348 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.SELECTION_LISTENER_TYPE, selectionListeners);
349 }
350
351 if (selectable != null) {
352 if (selectable.isLiteralText()==false) {
353 component.setValueExpression(Properties.SELECTABLE, selectable);
354
355 } else {
356 component.setSelectable(getBool(selectable.getExpressionString()));
357 }
358 }
359
360 if (selectionCardinality != null) {
361 if (selectionCardinality.isLiteralText()==false) {
362 component.setValueExpression(Properties.SELECTION_CARDINALITY, selectionCardinality);
363
364 } else {
365 component.setSelectionCardinality(selectionCardinality.getExpressionString());
366 }
367 }
368
369 if (selectedValues != null) {
370 component.setValueExpression(Properties.SELECTED_VALUES, selectedValues);
371 }
372
373 if (dragListeners != null) {
374 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.DRAG_LISTENER_TYPE, dragListeners);
375 }
376
377 if (dragEffects != null) {
378 if (dragEffects.isLiteralText()==false) {
379 component.setValueExpression(Properties.DRAG_EFFECTS, dragEffects);
380
381 } else {
382 component.setDragEffects(dragEffects.getExpressionString());
383 }
384 }
385
386 if (dragTypes != null) {
387 if (dragTypes.isLiteralText()==false) {
388 component.setValueExpression(Properties.DRAG_TYPES, dragTypes);
389
390 } else {
391 component.setDragTypes(dragTypes.getExpressionString());
392 }
393 }
394
395 if (draggable != null) {
396 if (draggable.isLiteralText()==false) {
397 component.setValueExpression(Properties.DRAGGABLE, draggable);
398
399 } else {
400 component.setDraggable(getBool(draggable.getExpressionString()));
401 }
402 }
403
404 if (dropListeners != null) {
405 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.DROP_LISTENER_TYPE, dropListeners);
406 }
407
408 if (dropCompleteListeners != null) {
409 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.DROP_COMPLETE_LISTENER_TYPE, dropCompleteListeners);
410 }
411
412 if (dropEffects != null) {
413 if (dropEffects.isLiteralText()==false) {
414 component.setValueExpression(Properties.DROP_EFFECTS, dropEffects);
415
416 } else {
417 component.setDropEffects(dropEffects.getExpressionString());
418 }
419 }
420
421 if (dropTypes != null) {
422 if (dropTypes.isLiteralText()==false) {
423 component.setValueExpression(Properties.DROP_TYPES, dropTypes);
424
425 } else {
426 component.setDropTypes(dropTypes.getExpressionString());
427 }
428 }
429
430 if (droppable != null) {
431 if (droppable.isLiteralText()==false) {
432 component.setValueExpression(Properties.DROPPABLE, droppable);
433
434 } else {
435 component.setDroppable(getBool(droppable.getExpressionString()));
436 }
437 }
438
439 if (checkListeners != null) {
440 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.CHECK_LISTENER_TYPE, checkListeners);
441 }
442
443 if (checkable != null) {
444 if (checkable.isLiteralText()==false) {
445 component.setValueExpression(Properties.CHECKABLE, checkable);
446
447 } else {
448 component.setCheckable(getBool(checkable.getExpressionString()));
449 }
450 }
451
452 if (checkCardinality != null) {
453 if (checkCardinality.isLiteralText()==false) {
454 component.setValueExpression(Properties.CHECK_CARDINALITY, checkCardinality);
455
456 } else {
457 component.setCheckCardinality(checkCardinality.getExpressionString());
458 }
459 }
460
461 if (checkedValues != null) {
462 component.setValueExpression(Properties.CHECKED_VALUES, checkedValues);
463 }
464
465 if (additionalInformationListeners != null) {
466 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.ADDITIONAL_INFORMATION_LISTENER_TYPE, additionalInformationListeners);
467 }
468
469 if (additionalInformationValues != null) {
470 component.setValueExpression(Properties.ADDITIONAL_INFORMATION_VALUES, additionalInformationValues);
471 }
472
473 if (clientAdditionalInformationFullState != null) {
474 if (clientAdditionalInformationFullState.isLiteralText()==false) {
475 component.setValueExpression(Properties.CLIENT_ADDITIONAL_INFORMATION_FULL_STATE, clientAdditionalInformationFullState);
476
477 } else {
478 component.setClientAdditionalInformationFullState(clientAdditionalInformationFullState.getExpressionString());
479 }
480 }
481
482 if (additionalInformationCardinality != null) {
483 if (additionalInformationCardinality.isLiteralText()==false) {
484 component.setValueExpression(Properties.ADDITIONAL_INFORMATION_CARDINALITY, additionalInformationCardinality);
485
486 } else {
487 component.setAdditionalInformationCardinality(getInt(additionalInformationCardinality.getExpressionString()));
488 }
489 }
490
491 if (doubleClickListeners != null) {
492 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.DOUBLE_CLICK_LISTENER_TYPE, doubleClickListeners);
493 }
494
495 if (loadListeners != null) {
496 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.LOAD_LISTENER_TYPE, loadListeners);
497 }
498
499 if (required != null) {
500 if (required.isLiteralText()==false) {
501 component.setValueExpression(Properties.REQUIRED, required);
502
503 } else {
504 component.setRequired(getBool(required.getExpressionString()));
505 }
506 }
507
508 if (border != null) {
509 if (border.isLiteralText()==false) {
510 component.setValueExpression(Properties.BORDER, border);
511
512 } else {
513 component.setBorder(getBool(border.getExpressionString()));
514 }
515 }
516
517 if (rowStyleClass != null) {
518 if (rowStyleClass.isLiteralText()==false) {
519 component.setValueExpression(Properties.ROW_STYLE_CLASS, rowStyleClass);
520
521 } else {
522 component.setRowStyleClass(rowStyleClass.getExpressionString());
523 }
524 }
525
526 if (emptyDataMessage != null) {
527 if (emptyDataMessage.isLiteralText()==false) {
528 component.setValueExpression(Properties.EMPTY_DATA_MESSAGE, emptyDataMessage);
529
530 } else {
531 component.setEmptyDataMessage(emptyDataMessage.getExpressionString());
532 }
533 }
534
535 if (readOnly != null) {
536 if (readOnly.isLiteralText()==false) {
537 component.setValueExpression(Properties.READ_ONLY, readOnly);
538
539 } else {
540 component.setReadOnly(getBool(readOnly.getExpressionString()));
541 }
542 }
543
544 if (disabled != null) {
545 if (disabled.isLiteralText()==false) {
546 component.setValueExpression(Properties.DISABLED, disabled);
547
548 } else {
549 component.setDisabled(getBool(disabled.getExpressionString()));
550 }
551 }
552
553 if (horizontalScrollPosition != null) {
554 if (horizontalScrollPosition.isLiteralText()==false) {
555 component.setValueExpression(Properties.HORIZONTAL_SCROLL_POSITION, horizontalScrollPosition);
556
557 } else {
558 component.setHorizontalScrollPosition(getInt(horizontalScrollPosition.getExpressionString()));
559 }
560 }
561
562 if (verticalScrollPosition != null) {
563 if (verticalScrollPosition.isLiteralText()==false) {
564 component.setValueExpression(Properties.VERTICAL_SCROLL_POSITION, verticalScrollPosition);
565
566 } else {
567 component.setVerticalScrollPosition(getInt(verticalScrollPosition.getExpressionString()));
568 }
569 }
570
571 if (filterProperties != null) {
572 if (filterProperties.isLiteralText()==false) {
573 component.setValueExpression(Properties.FILTER_PROPERTIES, filterProperties);
574
575 } else {
576 component.setFilterProperties(filterProperties.getExpressionString());
577 }
578 }
579
580 if (showValue != null) {
581 if (showValue.isLiteralText()==false) {
582 component.setValueExpression(Properties.SHOW_VALUE, showValue);
583
584 } else {
585 component.setShowValue(showValue.getExpressionString());
586 }
587 }
588
589 if (keySearchColumnId != null) {
590 if (keySearchColumnId.isLiteralText()==false) {
591 component.setValueExpression(Properties.KEY_SEARCH_COLUMN_ID, keySearchColumnId);
592
593 } else {
594 component.setKeySearchColumnId(keySearchColumnId.getExpressionString());
595 }
596 }
597
598 if (preferences != null) {
599 component.setValueExpression(Properties.PREFERENCES, preferences);
600 }
601
602 if (paged != null) {
603 if (paged.isLiteralText()==false) {
604 component.setValueExpression(Properties.PAGED, paged);
605
606 } else {
607 component.setPaged(getBool(paged.getExpressionString()));
608 }
609 }
610
611 if (clientSelectionFullState != null) {
612 if (clientSelectionFullState.isLiteralText()==false) {
613 component.setValueExpression(Properties.CLIENT_SELECTION_FULL_STATE, clientSelectionFullState);
614
615 } else {
616 component.setClientSelectionFullState(clientSelectionFullState.getExpressionString());
617 }
618 }
619
620 if (clientCheckFullState != null) {
621 if (clientCheckFullState.isLiteralText()==false) {
622 component.setValueExpression(Properties.CLIENT_CHECK_FULL_STATE, clientCheckFullState);
623
624 } else {
625 component.setClientCheckFullState(clientCheckFullState.getExpressionString());
626 }
627 }
628
629 if (headerVisible != null) {
630 if (headerVisible.isLiteralText()==false) {
631 component.setValueExpression(Properties.HEADER_VISIBLE, headerVisible);
632
633 } else {
634 component.setHeaderVisible(getBool(headerVisible.getExpressionString()));
635 }
636 }
637
638 if (cursorValue != null) {
639 if (cursorValue.isLiteralText()==false) {
640 component.setValueExpression(Properties.CURSOR_VALUE, cursorValue);
641
642 } else {
643 component.setCursorValue(cursorValue.getExpressionString());
644 }
645 }
646
647 if (rowDragTypes != null) {
648 if (rowDragTypes.isLiteralText()==false) {
649 component.setValueExpression(Properties.ROW_DRAG_TYPES, rowDragTypes);
650
651 } else {
652 component.setRowDragTypes(rowDragTypes.getExpressionString());
653 }
654 }
655
656 if (rowDragEffects != null) {
657 if (rowDragEffects.isLiteralText()==false) {
658 component.setValueExpression(Properties.ROW_DRAG_EFFECTS, rowDragEffects);
659
660 } else {
661 component.setRowDragEffects(rowDragEffects.getExpressionString());
662 }
663 }
664
665 if (rowDropTypes != null) {
666 if (rowDropTypes.isLiteralText()==false) {
667 component.setValueExpression(Properties.ROW_DROP_TYPES, rowDropTypes);
668
669 } else {
670 component.setRowDropTypes(rowDropTypes.getExpressionString());
671 }
672 }
673
674 if (rowDropEffects != null) {
675 if (rowDropEffects.isLiteralText()==false) {
676 component.setValueExpression(Properties.ROW_DROP_EFFECTS, rowDropEffects);
677
678 } else {
679 component.setRowDropEffects(rowDropEffects.getExpressionString());
680 }
681 }
682
683 if (rowValueColumnId != null) {
684 if (rowValueColumnId.isLiteralText()==false) {
685 component.setValueExpression(Properties.ROW_VALUE_COLUMN_ID, rowValueColumnId);
686
687 } else {
688 component.setRowValueColumnId(rowValueColumnId.getExpressionString());
689 }
690 }
691
692 if (rowLabelColumnId != null) {
693 if (rowLabelColumnId.isLiteralText()==false) {
694 component.setValueExpression(Properties.ROW_LABEL_COLUMN_ID, rowLabelColumnId);
695
696 } else {
697 component.setRowLabelColumnId(rowLabelColumnId.getExpressionString());
698 }
699 }
700
701 if (rowCountVar != null) {
702 if (rowCountVar.isLiteralText()==false) {
703 throw new javax.faces.FacesException("Attribute 'rowCountVar' does not accept binding !");
704 }
705 component.setRowCountVar(rowCountVar.getExpressionString());
706 }
707
708 if (rowIndexVar != null) {
709 if (rowIndexVar.isLiteralText()==false) {
710 throw new javax.faces.FacesException("Attribute 'rowIndexVar' does not accept binding !");
711 }
712 component.setRowIndexVar(rowIndexVar.getExpressionString());
713 }
714
715 if (cellTextWrap != null) {
716 if (cellTextWrap.isLiteralText()==false) {
717 component.setValueExpression(Properties.CELL_TEXT_WRAP, cellTextWrap);
718
719 } else {
720 component.setCellTextWrap(getBool(cellTextWrap.getExpressionString()));
721 }
722 }
723
724 if (bodyDroppable != null) {
725 if (bodyDroppable.isLiteralText()==false) {
726 component.setValueExpression(Properties.BODY_DROPPABLE, bodyDroppable);
727
728 } else {
729 component.setBodyDroppable(getBool(bodyDroppable.getExpressionString()));
730 }
731 }
732
733 if (action != null) {
734 ListenersTools1_2.parseAction(facesContext, component, ListenersTools.SELECTION_LISTENER_TYPE, action);
735 }
736
737 if (actionListeners != null) {
738 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.SELECTION_LISTENER_TYPE, actionListeners, true);
739 }
740 }
741
742 public void release() {
743 selectionListeners = null;
744 selectable = null;
745 selectionCardinality = null;
746 selectedValues = null;
747 dragListeners = null;
748 dragEffects = null;
749 dragTypes = null;
750 draggable = null;
751 dropListeners = null;
752 dropCompleteListeners = null;
753 dropEffects = null;
754 dropTypes = null;
755 droppable = null;
756 checkListeners = null;
757 checkable = null;
758 checkCardinality = null;
759 checkedValues = null;
760 additionalInformationListeners = null;
761 additionalInformationValues = null;
762 clientAdditionalInformationFullState = null;
763 additionalInformationCardinality = null;
764 doubleClickListeners = null;
765 loadListeners = null;
766 required = null;
767 border = null;
768 rowStyleClass = null;
769 emptyDataMessage = null;
770 readOnly = null;
771 disabled = null;
772 horizontalScrollPosition = null;
773 verticalScrollPosition = null;
774 filterProperties = null;
775 showValue = null;
776 keySearchColumnId = null;
777 preferences = null;
778 paged = null;
779 clientSelectionFullState = null;
780 clientCheckFullState = null;
781 headerVisible = null;
782 cursorValue = null;
783 rowDragTypes = null;
784 rowDragEffects = null;
785 rowDropTypes = null;
786 rowDropEffects = null;
787 rowValueColumnId = null;
788 rowLabelColumnId = null;
789 rowCountVar = null;
790 rowIndexVar = null;
791 cellTextWrap = null;
792 bodyDroppable = null;
793 action = null;
794 actionListeners = null;
795
796 super.release();
797 }
798
799 }