KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icesoft > faces > renderkit > dom_html_basic > SecretRenderer


1 /*
2  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3  *
4  * "The contents of this file are subject to the Mozilla Public License
5  * Version 1.1 (the "License"); you may not use this file except in
6  * compliance with the License. You may obtain a copy of the License at
7  * http://www.mozilla.org/MPL/
8  *
9  * Software distributed under the License is distributed on an "AS IS"
10  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
11  * License for the specific language governing rights and limitations under
12  * the License.
13  *
14  * The Original Code is ICEfaces 1.5 open source software code, released
15  * November 5, 2006. The Initial Developer of the Original Code is ICEsoft
16  * Technologies Canada, Corp. Portions created by ICEsoft are Copyright (C)
17  * 2004-2006 ICEsoft Technologies Canada, Corp. All Rights Reserved.
18  *
19  * Contributor(s): _____________________.
20  *
21  * Alternatively, the contents of this file may be used under the terms of
22  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"
23  * License), in which case the provisions of the LGPL License are
24  * applicable instead of those above. If you wish to allow use of your
25  * version of this file only under the terms of the LGPL License and not to
26  * allow others to use your version of this file under the MPL, indicate
27  * your decision by deleting the provisions above and replace them with
28  * the notice and other provisions required by the LGPL License. If you do
29  * not delete the provisions above, a recipient may use your version of
30  * this file under either the MPL or the LGPL License."
31  *
32  */

33
34 package com.icesoft.faces.renderkit.dom_html_basic;
35
36 import com.icesoft.faces.context.DOMContext;
37 import org.w3c.dom.Element JavaDoc;
38
39 import javax.faces.component.UIComponent;
40 import javax.faces.component.UIInput;
41 import javax.faces.context.FacesContext;
42 import java.io.IOException JavaDoc;
43 import java.util.HashSet JavaDoc;
44
45 public class SecretRenderer extends DomBasicInputRenderer {
46
47     public void encodeBegin(FacesContext facesContext, UIComponent uiComponent)
48             throws IOException JavaDoc {
49         validateParameters(facesContext, uiComponent, UIInput.class);
50     }
51
52     public void encodeChildren(FacesContext facesContext,
53                                UIComponent uiComponent)
54             throws IOException JavaDoc {
55         validateParameters(facesContext, uiComponent, UIInput.class);
56     }
57
58     protected void renderEnd(FacesContext facesContext, UIComponent uiComponent,
59                              String JavaDoc currentValue) throws IOException JavaDoc {
60
61         validateParameters(facesContext, uiComponent, UIInput.class);
62
63         DOMContext domContext =
64                 DOMContext.attachDOMContext(facesContext, uiComponent);
65
66         if (!domContext.isInitialized()) {
67             Element JavaDoc root = domContext.createElement("input");
68             domContext.setRootNode(root);
69             setRootElementId(facesContext, root, uiComponent);
70             root.setAttribute("type", "password");
71             root.setAttribute("name", uiComponent.getClientId(facesContext));
72         }
73
74         Element JavaDoc root = (Element JavaDoc) domContext.getRootNode();
75
76         String JavaDoc dir = (String JavaDoc) uiComponent.getAttributes().get("dir");
77         if (dir != null) {
78             root.setAttribute("dir", dir);
79         }
80
81         String JavaDoc styleClass =
82                 (String JavaDoc) uiComponent.getAttributes().get("styleClass");
83         if (styleClass != null) {
84             root.setAttribute("class", styleClass);
85         }
86         PassThruAttributeRenderer.renderAttributes(
87                 facesContext, uiComponent, null);
88
89         // render the current value of the component as the value of the "value"
90
// attribute if and only if the value of the component attribute
91
// "redisplay" is the string "true"
92
if (redisplayAttributeIsTrue(uiComponent) && currentValue != null) {
93             root.setAttribute("value", currentValue);
94         } else {
95             root.setAttribute("value", "");
96         }
97
98         HashSet JavaDoc excludes = new HashSet JavaDoc();
99         addJavaScript(facesContext, uiComponent, root, excludes);
100         domContext.streamWrite(facesContext, uiComponent);
101     }
102
103     /**
104      * @param uiComponent
105      * @return boolean
106      */

107     private boolean redisplayAttributeIsTrue(UIComponent uiComponent) {
108         Object JavaDoc redisplayAttribute =
109                 uiComponent.getAttributes().get("redisplay");
110         return redisplayAttribute != null
111                && redisplayAttribute.toString().toLowerCase().equals("true");
112     }
113
114     protected void addJavaScript(FacesContext facesContext,
115                                  UIComponent uiComponent, Element JavaDoc root,
116                                  HashSet JavaDoc excludes) {
117     }
118 }
Popular Tags