1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.primefaces.extensions.component.head;
23
24 import java.io.IOException;
25
26 import javax.faces.component.UIComponent;
27 import javax.faces.context.ExternalContext;
28 import javax.faces.context.FacesContext;
29 import javax.faces.context.ResponseWriter;
30
31 import org.primefaces.extensions.util.Attrs;
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 public class ExtHeadRenderer extends org.primefaces.renderkit.HeadRenderer {
55
56 @Override
57 public void encodeEnd(final FacesContext context, final UIComponent component) throws IOException {
58 final ResponseWriter writer = context.getResponseWriter();
59 final ExtHead extHead = (ExtHead) component;
60
61
62 encodeTitle(extHead, writer);
63 encodeShortcutIcon(context, extHead, writer);
64
65 super.encodeEnd(context, component);
66 }
67
68 private void encodeTitle(final ExtHead extHead, final ResponseWriter writer) throws IOException {
69 if (extHead.getTitle() != null) {
70 writer.startElement(Attrs.TITLE, null);
71 writer.writeText(extHead.getTitle(), Attrs.TITLE);
72 writer.endElement(Attrs.TITLE);
73 }
74 }
75
76 private void encodeShortcutIcon(final FacesContext context, final ExtHead extHead, final ResponseWriter writer) throws IOException {
77 if (extHead.getShortcutIcon() != null) {
78 ExternalContext externalContext = context.getExternalContext();
79 writer.startElement("link", null);
80 writer.writeAttribute("rel", "shortcut icon", null);
81 writer.writeAttribute("href", externalContext.encodeResourceURL(extHead.getShortcutIcon()), null);
82 writer.endElement("link");
83 }
84 }
85 }