1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.renderkit.html.ext;
20
21 import java.io.IOException;
22
23 import javax.faces.component.UIComponent;
24 import javax.faces.component.UIInput;
25 import javax.faces.context.FacesContext;
26 import javax.faces.context.ResponseWriter;
27
28 import org.apache.myfaces.component.UserRoleUtils;
29 import org.apache.myfaces.shared_tomahawk.renderkit.JSFAttr;
30 import org.apache.myfaces.shared_tomahawk.renderkit.html.HTML;
31 import org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlRendererUtils;
32 import org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlSecretRendererBase;
33
34
35
36
37
38
39
40
41
42
43
44
45 public class HtmlSecretRenderer
46 extends HtmlSecretRendererBase
47 {
48 protected boolean isDisabled(FacesContext facesContext, UIComponent uiComponent)
49 {
50 if (!UserRoleUtils.isEnabledOnUserRole(uiComponent))
51 {
52 return true;
53 }
54 else
55 {
56 return super.isDisabled(facesContext, uiComponent);
57 }
58 }
59
60 public void encodeEnd(FacesContext facesContext, UIComponent component)
61 throws IOException
62 {
63 if(HtmlRendererUtils.isDisplayValueOnly(component))
64 {
65 renderInputValueOnly(facesContext,
66 (UIInput) component);
67 }
68 else
69 {
70 super.encodeEnd(facesContext, component);
71 }
72 }
73
74 protected void renderInputValueOnly(FacesContext facesContext, UIInput uiInput)
75 throws IOException
76 {
77 ResponseWriter writer = facesContext.getResponseWriter();
78
79 writer.startElement(HTML.SPAN_ELEM, uiInput);
80
81 HtmlRendererUtils.writeIdIfNecessary(writer, uiInput, facesContext);
82
83 HtmlRendererUtils.renderDisplayValueOnlyAttributes(uiInput, writer);
84
85
86 writer.writeText("*****", JSFAttr.VALUE_ATTR);
87
88 writer.endElement(HTML.SPAN_ELEM);
89 }
90 }