View Javadoc

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 }