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.cookiepolicy;
23
24 import java.io.IOException;
25
26 import javax.faces.component.UIComponent;
27 import javax.faces.context.FacesContext;
28 import javax.faces.context.ResponseWriter;
29 import javax.faces.render.Renderer;
30
31 public class CookiePolicyRenderer extends Renderer {
32
33 @Override
34 public boolean getRendersChildren() {
35 return true;
36 }
37
38 @Override
39 public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
40 final ResponseWriter writer = context.getResponseWriter();
41 final String clientId = component.getClientId(context);
42 writer.startElement("div", component);
43 writer.writeAttribute("id", clientId, "id");
44 }
45
46 @Override
47 public void encodeEnd(FacesContext context, UIComponent component) throws IOException {
48 final ResponseWriter writer = context.getResponseWriter();
49 writer.endElement("div");
50 }
51
52 @Override
53 public void encodeChildren(FacesContext context, UIComponent component) throws IOException {
54 CookiePolicy cookiePolicyComponent = (CookiePolicy) component;
55 boolean cookiePresent = cookiePolicyComponent.hasCookiePolicyCookie(context);
56 if (cookiePresent) {
57 return;
58 }
59 for (UIComponent child : component.getChildren()) {
60 child.encodeAll(context);
61 }
62 }
63 }