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 javax.servlet.jsp.tagext.Tag;
10 import org.apache.commons.logging.LogFactory;
11 import org.rcfaces.core.internal.tools.ListenersTools1_2;
12 import org.rcfaces.core.component.AbstractInputComponent;
13 import org.rcfaces.core.internal.tools.ListenersTools;
14 import javax.faces.context.FacesContext;
15
16 public abstract class AbstractInputTag extends CameliaTag implements Tag {
17
18
19 private static final Log LOG=LogFactory.getLog(AbstractInputTag.class);
20
21 private ValueExpression helpMessage;
22 private ValueExpression helpURL;
23 private ValueExpression toolTipText;
24 private ValueExpression blurListeners;
25 private ValueExpression focusListeners;
26 private ValueExpression backgroundColor;
27 private ValueExpression foregroundColor;
28 private ValueExpression visible;
29 private ValueExpression errorListeners;
30 private ValueExpression disabled;
31 private ValueExpression validationListeners;
32 private ValueExpression fontBold;
33 private ValueExpression fontItalic;
34 private ValueExpression fontName;
35 private ValueExpression fontSize;
36 private ValueExpression fontUnderline;
37 private ValueExpression mouseOutListeners;
38 private ValueExpression mouseOverListeners;
39 private ValueExpression unlockedClientAttributeNames;
40 private ValueExpression tabIndex;
41 private ValueExpression propertyChangeListeners;
42 private ValueExpression marginBottom;
43 private ValueExpression marginLeft;
44 private ValueExpression marginRight;
45 private ValueExpression marginTop;
46 private ValueExpression keyUpListeners;
47 private ValueExpression keyDownListeners;
48 private ValueExpression keyPressListeners;
49 private ValueExpression x;
50 private ValueExpression y;
51 private ValueExpression userEventListeners;
52 private ValueExpression partialRendering;
53 private ValueExpression styleClass;
54 private ValueExpression lookId;
55 private ValueExpression width;
56 private ValueExpression height;
57 private ValueExpression textAlignment;
58 private ValueExpression accessKey;
59 private ValueExpression ariaLabel;
60 private ValueExpression ariaLevel;
61 private ValueExpression waiRole;
62 private ValueExpression bottom;
63 private ValueExpression left;
64 private ValueExpression right;
65 private ValueExpression top;
66 private ValueExpression initListeners;
67 private ValueExpression hiddenMode;
68 private ValueExpression valueLocked;
69 private ValueExpression immediate;
70 private ValueExpression margins;
71 private ValueExpression value;
72 private ValueExpression converter;
73 public final void setHelpMessage(ValueExpression helpMessage) {
74 this.helpMessage = helpMessage;
75 }
76
77 public final void setHelpURL(ValueExpression helpURL) {
78 this.helpURL = helpURL;
79 }
80
81 public final void setToolTipText(ValueExpression toolTipText) {
82 this.toolTipText = toolTipText;
83 }
84
85 public final void setBlurListener(ValueExpression blurListeners) {
86 this.blurListeners = blurListeners;
87 }
88
89 public final void setFocusListener(ValueExpression focusListeners) {
90 this.focusListeners = focusListeners;
91 }
92
93 public final void setBackgroundColor(ValueExpression backgroundColor) {
94 this.backgroundColor = backgroundColor;
95 }
96
97 public final void setForegroundColor(ValueExpression foregroundColor) {
98 this.foregroundColor = foregroundColor;
99 }
100
101 public final void setVisible(ValueExpression visible) {
102 this.visible = visible;
103 }
104
105 public final void setErrorListener(ValueExpression errorListeners) {
106 this.errorListeners = errorListeners;
107 }
108
109 public final void setDisabled(ValueExpression disabled) {
110 this.disabled = disabled;
111 }
112
113 public final void setValidationListener(ValueExpression validationListeners) {
114 this.validationListeners = validationListeners;
115 }
116
117 public final void setFontBold(ValueExpression fontBold) {
118 this.fontBold = fontBold;
119 }
120
121 public final void setFontItalic(ValueExpression fontItalic) {
122 this.fontItalic = fontItalic;
123 }
124
125 public final void setFontName(ValueExpression fontName) {
126 this.fontName = fontName;
127 }
128
129 public final void setFontSize(ValueExpression fontSize) {
130 this.fontSize = fontSize;
131 }
132
133 public final void setFontUnderline(ValueExpression fontUnderline) {
134 this.fontUnderline = fontUnderline;
135 }
136
137 public final void setMouseOutListener(ValueExpression mouseOutListeners) {
138 this.mouseOutListeners = mouseOutListeners;
139 }
140
141 public final void setMouseOverListener(ValueExpression mouseOverListeners) {
142 this.mouseOverListeners = mouseOverListeners;
143 }
144
145 public final void setUnlockedClientAttributeNames(ValueExpression unlockedClientAttributeNames) {
146 this.unlockedClientAttributeNames = unlockedClientAttributeNames;
147 }
148
149 public final void setTabIndex(ValueExpression tabIndex) {
150 this.tabIndex = tabIndex;
151 }
152
153 public final void setPropertyChangeListener(ValueExpression propertyChangeListeners) {
154 this.propertyChangeListeners = propertyChangeListeners;
155 }
156
157 public final void setMarginBottom(ValueExpression marginBottom) {
158 this.marginBottom = marginBottom;
159 }
160
161 public final void setMarginLeft(ValueExpression marginLeft) {
162 this.marginLeft = marginLeft;
163 }
164
165 public final void setMarginRight(ValueExpression marginRight) {
166 this.marginRight = marginRight;
167 }
168
169 public final void setMarginTop(ValueExpression marginTop) {
170 this.marginTop = marginTop;
171 }
172
173 public final void setKeyUpListener(ValueExpression keyUpListeners) {
174 this.keyUpListeners = keyUpListeners;
175 }
176
177 public final void setKeyDownListener(ValueExpression keyDownListeners) {
178 this.keyDownListeners = keyDownListeners;
179 }
180
181 public final void setKeyPressListener(ValueExpression keyPressListeners) {
182 this.keyPressListeners = keyPressListeners;
183 }
184
185 public final void setX(ValueExpression x) {
186 this.x = x;
187 }
188
189 public final void setY(ValueExpression y) {
190 this.y = y;
191 }
192
193 public final void setUserEventListener(ValueExpression userEventListeners) {
194 this.userEventListeners = userEventListeners;
195 }
196
197 public final void setPartialRendering(ValueExpression partialRendering) {
198 this.partialRendering = partialRendering;
199 }
200
201 public final void setStyleClass(ValueExpression styleClass) {
202 this.styleClass = styleClass;
203 }
204
205 public final void setLookId(ValueExpression lookId) {
206 this.lookId = lookId;
207 }
208
209 public final void setWidth(ValueExpression width) {
210 this.width = width;
211 }
212
213 public final void setHeight(ValueExpression height) {
214 this.height = height;
215 }
216
217 public final void setTextAlignment(ValueExpression textAlignment) {
218 this.textAlignment = textAlignment;
219 }
220
221 public final void setAccessKey(ValueExpression accessKey) {
222 this.accessKey = accessKey;
223 }
224
225 public final void setAriaLabel(ValueExpression ariaLabel) {
226 this.ariaLabel = ariaLabel;
227 }
228
229 public final void setAriaLevel(ValueExpression ariaLevel) {
230 this.ariaLevel = ariaLevel;
231 }
232
233 public final void setWaiRole(ValueExpression waiRole) {
234 this.waiRole = waiRole;
235 }
236
237 public final void setBottom(ValueExpression bottom) {
238 this.bottom = bottom;
239 }
240
241 public final void setLeft(ValueExpression left) {
242 this.left = left;
243 }
244
245 public final void setRight(ValueExpression right) {
246 this.right = right;
247 }
248
249 public final void setTop(ValueExpression top) {
250 this.top = top;
251 }
252
253 public final void setInitListener(ValueExpression initListeners) {
254 this.initListeners = initListeners;
255 }
256
257 public final void setHiddenMode(ValueExpression hiddenMode) {
258 this.hiddenMode = hiddenMode;
259 }
260
261 public final void setValueLocked(ValueExpression valueLocked) {
262 this.valueLocked = valueLocked;
263 }
264
265 public final void setImmediate(ValueExpression immediate) {
266 this.immediate = immediate;
267 }
268
269 public final void setMargins(ValueExpression margins) {
270 this.margins = margins;
271 }
272
273 public final void setValue(ValueExpression value) {
274 this.value = value;
275 }
276
277 public final void setConverter(ValueExpression converter) {
278 this.converter = converter;
279 }
280
281 protected void setProperties(UIComponent uiComponent) {
282 if (LOG.isDebugEnabled()) {
283 LOG.debug(" helpMessage='"+helpMessage+"'");
284 LOG.debug(" helpURL='"+helpURL+"'");
285 LOG.debug(" toolTipText='"+toolTipText+"'");
286 LOG.debug(" backgroundColor='"+backgroundColor+"'");
287 LOG.debug(" foregroundColor='"+foregroundColor+"'");
288 LOG.debug(" visible='"+visible+"'");
289 LOG.debug(" disabled='"+disabled+"'");
290 LOG.debug(" fontBold='"+fontBold+"'");
291 LOG.debug(" fontItalic='"+fontItalic+"'");
292 LOG.debug(" fontName='"+fontName+"'");
293 LOG.debug(" fontSize='"+fontSize+"'");
294 LOG.debug(" fontUnderline='"+fontUnderline+"'");
295 LOG.debug(" unlockedClientAttributeNames='"+unlockedClientAttributeNames+"'");
296 LOG.debug(" tabIndex='"+tabIndex+"'");
297 LOG.debug(" marginBottom='"+marginBottom+"'");
298 LOG.debug(" marginLeft='"+marginLeft+"'");
299 LOG.debug(" marginRight='"+marginRight+"'");
300 LOG.debug(" marginTop='"+marginTop+"'");
301 LOG.debug(" x='"+x+"'");
302 LOG.debug(" y='"+y+"'");
303 LOG.debug(" partialRendering='"+partialRendering+"'");
304 LOG.debug(" styleClass='"+styleClass+"'");
305 LOG.debug(" lookId='"+lookId+"'");
306 LOG.debug(" width='"+width+"'");
307 LOG.debug(" height='"+height+"'");
308 LOG.debug(" textAlignment='"+textAlignment+"'");
309 LOG.debug(" accessKey='"+accessKey+"'");
310 LOG.debug(" ariaLabel='"+ariaLabel+"'");
311 LOG.debug(" ariaLevel='"+ariaLevel+"'");
312 LOG.debug(" waiRole='"+waiRole+"'");
313 LOG.debug(" bottom='"+bottom+"'");
314 LOG.debug(" left='"+left+"'");
315 LOG.debug(" right='"+right+"'");
316 LOG.debug(" top='"+top+"'");
317 LOG.debug(" hiddenMode='"+hiddenMode+"'");
318 LOG.debug(" valueLocked='"+valueLocked+"'");
319 LOG.debug(" immediate='"+immediate+"'");
320 LOG.debug(" margins='"+margins+"'");
321 }
322 if ((uiComponent instanceof AbstractInputComponent)==false) {
323 if (uiComponent instanceof UIViewRoot) {
324 throw new IllegalStateException("The first component of the page must be a UIViewRoot component !");
325 }
326 throw new IllegalStateException("Component specified by tag is not instanceof of 'AbstractInputComponent'.");
327 }
328
329 super.setProperties(uiComponent);
330
331 AbstractInputComponent component = (AbstractInputComponent) uiComponent;
332 FacesContext facesContext = getFacesContext();
333
334 if (helpMessage != null) {
335 if (helpMessage.isLiteralText()==false) {
336 component.setValueExpression(Properties.HELP_MESSAGE, helpMessage);
337
338 } else {
339 component.setHelpMessage(helpMessage.getExpressionString());
340 }
341 }
342
343 if (helpURL != null) {
344 if (helpURL.isLiteralText()==false) {
345 component.setValueExpression(Properties.HELP_URL, helpURL);
346
347 } else {
348 component.setHelpURL(helpURL.getExpressionString());
349 }
350 }
351
352 if (toolTipText != null) {
353 if (toolTipText.isLiteralText()==false) {
354 component.setValueExpression(Properties.TOOL_TIP_TEXT, toolTipText);
355
356 } else {
357 component.setToolTipText(toolTipText.getExpressionString());
358 }
359 }
360
361 if (blurListeners != null) {
362 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.BLUR_LISTENER_TYPE, blurListeners);
363 }
364
365 if (focusListeners != null) {
366 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.FOCUS_LISTENER_TYPE, focusListeners);
367 }
368
369 if (backgroundColor != null) {
370 if (backgroundColor.isLiteralText()==false) {
371 component.setValueExpression(Properties.BACKGROUND_COLOR, backgroundColor);
372
373 } else {
374 component.setBackgroundColor(backgroundColor.getExpressionString());
375 }
376 }
377
378 if (foregroundColor != null) {
379 if (foregroundColor.isLiteralText()==false) {
380 component.setValueExpression(Properties.FOREGROUND_COLOR, foregroundColor);
381
382 } else {
383 component.setForegroundColor(foregroundColor.getExpressionString());
384 }
385 }
386
387 if (visible != null) {
388 if (visible.isLiteralText()==false) {
389 component.setValueExpression(Properties.VISIBLE, visible);
390
391 } else {
392 component.setVisible(getBool(visible.getExpressionString()));
393 }
394 }
395
396 if (errorListeners != null) {
397 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.ERROR_LISTENER_TYPE, errorListeners);
398 }
399
400 if (disabled != null) {
401 if (disabled.isLiteralText()==false) {
402 component.setValueExpression(Properties.DISABLED, disabled);
403
404 } else {
405 component.setDisabled(getBool(disabled.getExpressionString()));
406 }
407 }
408
409 if (validationListeners != null) {
410 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.VALIDATION_LISTENER_TYPE, validationListeners);
411 }
412
413 if (fontBold != null) {
414 if (fontBold.isLiteralText()==false) {
415 component.setValueExpression(Properties.FONT_BOLD, fontBold);
416
417 } else {
418 component.setFontBold(getBoolean(fontBold.getExpressionString()));
419 }
420 }
421
422 if (fontItalic != null) {
423 if (fontItalic.isLiteralText()==false) {
424 component.setValueExpression(Properties.FONT_ITALIC, fontItalic);
425
426 } else {
427 component.setFontItalic(getBoolean(fontItalic.getExpressionString()));
428 }
429 }
430
431 if (fontName != null) {
432 if (fontName.isLiteralText()==false) {
433 component.setValueExpression(Properties.FONT_NAME, fontName);
434
435 } else {
436 component.setFontName(fontName.getExpressionString());
437 }
438 }
439
440 if (fontSize != null) {
441 if (fontSize.isLiteralText()==false) {
442 component.setValueExpression(Properties.FONT_SIZE, fontSize);
443
444 } else {
445 component.setFontSize(fontSize.getExpressionString());
446 }
447 }
448
449 if (fontUnderline != null) {
450 if (fontUnderline.isLiteralText()==false) {
451 component.setValueExpression(Properties.FONT_UNDERLINE, fontUnderline);
452
453 } else {
454 component.setFontUnderline(getBoolean(fontUnderline.getExpressionString()));
455 }
456 }
457
458 if (mouseOutListeners != null) {
459 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.MOUSE_OUT_LISTENER_TYPE, mouseOutListeners);
460 }
461
462 if (mouseOverListeners != null) {
463 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.MOUSE_OVER_LISTENER_TYPE, mouseOverListeners);
464 }
465
466 if (unlockedClientAttributeNames != null) {
467 if (unlockedClientAttributeNames.isLiteralText()==false) {
468 component.setValueExpression(Properties.UNLOCKED_CLIENT_ATTRIBUTE_NAMES, unlockedClientAttributeNames);
469
470 } else {
471 component.setUnlockedClientAttributeNames(unlockedClientAttributeNames.getExpressionString());
472 }
473 }
474
475 if (tabIndex != null) {
476 if (tabIndex.isLiteralText()==false) {
477 component.setValueExpression(Properties.TAB_INDEX, tabIndex);
478
479 } else {
480 component.setTabIndex(getInteger(tabIndex.getExpressionString()));
481 }
482 }
483
484 if (propertyChangeListeners != null) {
485 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.PROPERTY_CHANGE_LISTENER_TYPE, propertyChangeListeners);
486 }
487
488 if (marginBottom != null) {
489 if (marginBottom.isLiteralText()==false) {
490 component.setValueExpression(Properties.MARGIN_BOTTOM, marginBottom);
491
492 } else {
493 component.setMarginBottom(marginBottom.getExpressionString());
494 }
495 }
496
497 if (marginLeft != null) {
498 if (marginLeft.isLiteralText()==false) {
499 component.setValueExpression(Properties.MARGIN_LEFT, marginLeft);
500
501 } else {
502 component.setMarginLeft(marginLeft.getExpressionString());
503 }
504 }
505
506 if (marginRight != null) {
507 if (marginRight.isLiteralText()==false) {
508 component.setValueExpression(Properties.MARGIN_RIGHT, marginRight);
509
510 } else {
511 component.setMarginRight(marginRight.getExpressionString());
512 }
513 }
514
515 if (marginTop != null) {
516 if (marginTop.isLiteralText()==false) {
517 component.setValueExpression(Properties.MARGIN_TOP, marginTop);
518
519 } else {
520 component.setMarginTop(marginTop.getExpressionString());
521 }
522 }
523
524 if (keyUpListeners != null) {
525 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.KEY_UP_LISTENER_TYPE, keyUpListeners);
526 }
527
528 if (keyDownListeners != null) {
529 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.KEY_DOWN_LISTENER_TYPE, keyDownListeners);
530 }
531
532 if (keyPressListeners != null) {
533 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.KEY_PRESS_LISTENER_TYPE, keyPressListeners);
534 }
535
536 if (x != null) {
537 if (x.isLiteralText()==false) {
538 component.setValueExpression(Properties.X, x);
539
540 } else {
541 component.setX(x.getExpressionString());
542 }
543 }
544
545 if (y != null) {
546 if (y.isLiteralText()==false) {
547 component.setValueExpression(Properties.Y, y);
548
549 } else {
550 component.setY(y.getExpressionString());
551 }
552 }
553
554 if (userEventListeners != null) {
555 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.USER_EVENT_LISTENER_TYPE, userEventListeners);
556 }
557
558 if (partialRendering != null) {
559 if (partialRendering.isLiteralText()==false) {
560 component.setValueExpression(Properties.PARTIAL_RENDERING, partialRendering);
561
562 } else {
563 component.setPartialRendering(getBool(partialRendering.getExpressionString()));
564 }
565 }
566
567 if (styleClass != null) {
568 if (styleClass.isLiteralText()==false) {
569 component.setValueExpression(Properties.STYLE_CLASS, styleClass);
570
571 } else {
572 component.setStyleClass(styleClass.getExpressionString());
573 }
574 }
575
576 if (lookId != null) {
577 if (lookId.isLiteralText()==false) {
578 component.setValueExpression(Properties.LOOK_ID, lookId);
579
580 } else {
581 component.setLookId(lookId.getExpressionString());
582 }
583 }
584
585 if (width != null) {
586 if (width.isLiteralText()==false) {
587 component.setValueExpression(Properties.WIDTH, width);
588
589 } else {
590 component.setWidth(width.getExpressionString());
591 }
592 }
593
594 if (height != null) {
595 if (height.isLiteralText()==false) {
596 component.setValueExpression(Properties.HEIGHT, height);
597
598 } else {
599 component.setHeight(height.getExpressionString());
600 }
601 }
602
603 if (textAlignment != null) {
604 if (textAlignment.isLiteralText()==false) {
605 component.setValueExpression(Properties.TEXT_ALIGNMENT, textAlignment);
606
607 } else {
608 component.setTextAlignment(textAlignment.getExpressionString());
609 }
610 }
611
612 if (accessKey != null) {
613 if (accessKey.isLiteralText()==false) {
614 component.setValueExpression(Properties.ACCESS_KEY, accessKey);
615
616 } else {
617 component.setAccessKey(accessKey.getExpressionString());
618 }
619 }
620
621 if (ariaLabel != null) {
622 if (ariaLabel.isLiteralText()==false) {
623 component.setValueExpression(Properties.ARIA_LABEL, ariaLabel);
624
625 } else {
626 component.setAriaLabel(ariaLabel.getExpressionString());
627 }
628 }
629
630 if (ariaLevel != null) {
631 if (ariaLevel.isLiteralText()==false) {
632 component.setValueExpression(Properties.ARIA_LEVEL, ariaLevel);
633
634 } else {
635 component.setAriaLevel(getInt(ariaLevel.getExpressionString()));
636 }
637 }
638
639 if (waiRole != null) {
640 if (waiRole.isLiteralText()==false) {
641 component.setValueExpression(Properties.WAI_ROLE, waiRole);
642
643 } else {
644 component.setWaiRole(waiRole.getExpressionString());
645 }
646 }
647
648 if (bottom != null) {
649 if (bottom.isLiteralText()==false) {
650 component.setValueExpression(Properties.BOTTOM, bottom);
651
652 } else {
653 component.setBottom(getInt(bottom.getExpressionString()));
654 }
655 }
656
657 if (left != null) {
658 if (left.isLiteralText()==false) {
659 component.setValueExpression(Properties.LEFT, left);
660
661 } else {
662 component.setLeft(getInt(left.getExpressionString()));
663 }
664 }
665
666 if (right != null) {
667 if (right.isLiteralText()==false) {
668 component.setValueExpression(Properties.RIGHT, right);
669
670 } else {
671 component.setRight(getInt(right.getExpressionString()));
672 }
673 }
674
675 if (top != null) {
676 if (top.isLiteralText()==false) {
677 component.setValueExpression(Properties.TOP, top);
678
679 } else {
680 component.setTop(getInt(top.getExpressionString()));
681 }
682 }
683
684 if (initListeners != null) {
685 ListenersTools1_2.parseListener(facesContext, component, ListenersTools.INIT_LISTENER_TYPE, initListeners);
686 }
687
688 if (hiddenMode != null) {
689 if (hiddenMode.isLiteralText()==false) {
690 component.setValueExpression(Properties.HIDDEN_MODE, hiddenMode);
691
692 } else {
693 component.setHiddenMode(hiddenMode.getExpressionString());
694 }
695 }
696
697 if (valueLocked != null) {
698 if (valueLocked.isLiteralText()==false) {
699 component.setValueExpression(Properties.VALUE_LOCKED, valueLocked);
700
701 } else {
702 component.setValueLocked(getBool(valueLocked.getExpressionString()));
703 }
704 }
705
706 if (immediate != null) {
707 if (immediate.isLiteralText()==false) {
708 component.setValueExpression(Properties.IMMEDIATE, immediate);
709
710 } else {
711 component.setImmediate(getBool(immediate.getExpressionString()));
712 }
713 }
714
715 if (margins != null) {
716 if (margins.isLiteralText()==false) {
717 throw new javax.faces.FacesException("Attribute 'margins' does not accept binding !");
718 }
719 component.setMargins(margins.getExpressionString());
720 }
721
722 if (value != null) {
723 if (value.isLiteralText()==false) {
724 component.setValueExpression(Properties.VALUE, value);
725
726 } else {
727 component.setValue(value.getExpressionString());
728 }
729 }
730
731 if (converter != null) {
732 if (converter.isLiteralText()==false) {
733 component.setValueExpression(Properties.CONVERTER, converter);
734
735 } else {
736 component.setConverter(converter.getExpressionString());
737 }
738 }
739 }
740
741 public void release() {
742 helpMessage = null;
743 helpURL = null;
744 toolTipText = null;
745 blurListeners = null;
746 focusListeners = null;
747 backgroundColor = null;
748 foregroundColor = null;
749 visible = null;
750 errorListeners = null;
751 disabled = null;
752 validationListeners = null;
753 fontBold = null;
754 fontItalic = null;
755 fontName = null;
756 fontSize = null;
757 fontUnderline = null;
758 mouseOutListeners = null;
759 mouseOverListeners = null;
760 unlockedClientAttributeNames = null;
761 tabIndex = null;
762 propertyChangeListeners = null;
763 marginBottom = null;
764 marginLeft = null;
765 marginRight = null;
766 marginTop = null;
767 keyUpListeners = null;
768 keyDownListeners = null;
769 keyPressListeners = null;
770 x = null;
771 y = null;
772 userEventListeners = null;
773 partialRendering = null;
774 styleClass = null;
775 lookId = null;
776 width = null;
777 height = null;
778 textAlignment = null;
779 accessKey = null;
780 ariaLabel = null;
781 ariaLevel = null;
782 waiRole = null;
783 bottom = null;
784 left = null;
785 right = null;
786 top = null;
787 initListeners = null;
788 hiddenMode = null;
789 valueLocked = null;
790 immediate = null;
791 margins = null;
792 value = null;
793 converter = null;
794
795 super.release();
796 }
797
798 }