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.facelets;
21
22 import org.apache.myfaces.tobago.component.UIStyle;
23 import org.slf4j.Logger;
24 import org.slf4j.LoggerFactory;
25
26 import javax.faces.component.UIComponent;
27 import javax.faces.view.facelets.ComponentConfig;
28 import javax.faces.view.facelets.ComponentHandler;
29 import javax.faces.view.facelets.FaceletContext;
30 import javax.faces.view.facelets.FaceletHandler;
31 import javax.faces.view.facelets.TextHandler;
32
33 public class StyleHandler extends ComponentHandler {
34
35 private static final Logger LOG = LoggerFactory.getLogger(StyleHandler.class);
36
37 public StyleHandler(ComponentConfig config) {
38 super(config);
39 }
40
41 public void onComponentCreated(FaceletContext context, UIComponent component, UIComponent parent) {
42
43 StringBuilder content = new StringBuilder();
44 final FaceletHandler next = getComponentConfig().getNextHandler();
45 if (next instanceof TextHandler) {
46 content.append(((TextHandler) next).getText(context));
47 } else {
48
49
50 LOG.warn("Not applied for handler: " + next.getClass().getName());
51 }
52
53 ((UIStyle) component).setStyle(content.toString());
54 }
55
56 public void applyNextHandler(FaceletContext ctx, UIComponent c) {
57 }
58 }