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;
20
21 import java.io.IOException;
22 import java.util.logging.Logger;
23
24 import javax.faces.component.UIComponent;
25 import javax.faces.context.FacesContext;
26
27 import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFRenderer;
28 import org.apache.myfaces.shared.renderkit.html.HtmlRenderer;
29
30
31
32
33
34
35 @JSFRenderer(renderKitId = "HTML_BASIC", family = "javax.faces.Output", type = "javax.faces.CompositeFacet")
36 public class HtmlCompositeFacetRenderer extends HtmlRenderer
37 {
38
39 private static final Logger log = Logger.getLogger(HtmlCompositeFacetRenderer.class.getName());
40
41 public boolean getRendersChildren()
42 {
43 return true;
44 }
45
46 public void encodeBegin(FacesContext context, UIComponent component)
47 throws IOException
48 {
49 }
50
51 public void encodeChildren(FacesContext context, UIComponent component)
52 throws IOException
53 {
54 if (context == null)
55 {
56 throw new NullPointerException("context");
57 }
58 if (component == null)
59 {
60 throw new NullPointerException("component");
61 }
62
63 String facetName = (String) component.getAttributes().get(UIComponent.FACETS_KEY);
64
65 if (facetName == null)
66 {
67 throw new IOException("Composite facet name under key UIComponent.FACETS_KEY not found "+
68 component.getClientId(context));
69 }
70
71 UIComponent compositeComponent = UIComponent.getCurrentCompositeComponent(context);
72
73 if (compositeComponent == null)
74 {
75 throw new IOException("parent Composite Component not found when rendering composite component facet "+
76 component.getClientId(context));
77 }
78
79 UIComponent compositeFacet = (UIComponent) compositeComponent.getFacet(facetName);
80
81 if (compositeFacet != null)
82 {
83 compositeFacet.encodeAll(context);
84 }
85 }
86
87 public void encodeEnd(FacesContext context, UIComponent component)
88 throws IOException
89 {
90 }
91 }