1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag;
21
22 import org.apache.myfaces.tobago.component.UIColumn;
23 import org.apache.myfaces.tobago.component.UILink;
24 import org.apache.myfaces.tobago.component.UIOut;
25 import org.apache.myfaces.tobago.context.Markup;
26 import org.apache.myfaces.tobago.renderkit.LayoutComponentRendererBase;
27 import org.apache.myfaces.tobago.util.ComponentUtils;
28
29 import javax.faces.component.UIComponent;
30 import javax.faces.context.FacesContext;
31 import java.io.IOException;
32
33 public class ColumnRenderer extends LayoutComponentRendererBase {
34
35 @Override
36 public void prepareRender(FacesContext facesContext, UIComponent component) throws IOException {
37 super.prepareRender(facesContext, component);
38
39 final UIColumn column = (UIColumn) component;
40 if (isPure(column)) {
41 ComponentUtils.addCurrentMarkup(column, Markup.PURE);
42 }
43 }
44
45
46
47
48
49
50
51
52
53 private boolean isPure(UIColumn column) {
54 for (UIComponent child : column.getChildren()) {
55 if (!(child instanceof UIOut) && !(child instanceof UILink)) {
56 return true;
57 }
58 }
59 return false;
60 }
61
62 @Override
63 public boolean getPrepareRendersChildren() {
64 return true;
65 }
66
67 @Override
68 public boolean getRendersChildren() {
69 return true;
70 }
71 }