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