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.internal.taglib;
21
22 import org.apache.commons.lang.StringUtils;
23 import org.apache.myfaces.tobago.component.OnComponentCreated;
24 import org.apache.myfaces.tobago.component.OnComponentPopulated;
25
26 import javax.faces.component.UIComponent;
27 import javax.faces.webapp.UIComponentELTag;
28 import javax.servlet.jsp.JspException;
29
30
31 public abstract class TobagoELTag extends UIComponentELTag {
32
33 @Override
34 public int doStartTag() throws JspException {
35 int result = super.doStartTag();
36 UIComponent component = getComponentInstance();
37 if (component instanceof OnComponentCreated
38 && component.getAttributes().get(OnComponentCreated.MARKER) == null) {
39 component.getAttributes().put(OnComponentCreated.MARKER, Boolean.TRUE);
40 ((OnComponentCreated) component).onComponentCreated(getFacesContext(), component.getParent());
41 }
42 return result;
43 }
44
45 @Override
46 public int doEndTag() throws JspException {
47 UIComponent component = getComponentInstance();
48 int result = super.doEndTag();
49 if (component instanceof OnComponentPopulated
50 && component.getAttributes().get(OnComponentPopulated.MARKER) == null) {
51 component.getAttributes().put(OnComponentPopulated.MARKER, Boolean.TRUE);
52 ((OnComponentPopulated) component).onComponentPopulated(getFacesContext(), component.getParent());
53 }
54 return result;
55 }
56
57 public String[] splitList(String renderers) {
58 return StringUtils.split(renderers, ", ");
59 }
60
61
62
63
64
65 @Deprecated
66 protected String getBodyContentStr() {
67 String content = bodyContent.getString();
68 bodyContent.clearBody();
69 return content;
70 }
71
72
73
74
75
76 @Deprecated
77 protected boolean isBodyContentEmpty() {
78 if (bodyContent != null) {
79 String content = bodyContent.getString();
80 String tmp = content.replace('\n', ' ');
81 if (tmp.trim().length() > 0) {
82 return false;
83 }
84 }
85 return true;
86 }
87 }