1 33 34 package com.icesoft.faces.component.tree; 35 36 import com.icesoft.faces.component.util.CustomComponentUtils; 37 import com.icesoft.faces.context.DOMContext; 38 import com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer; 39 40 import javax.faces.component.UIComponent; 41 import javax.faces.context.FacesContext; 42 import java.io.IOException ; 43 import java.util.Iterator ; 44 45 46 49 public class TreeNodeRenderer extends DomBasicRenderer { 50 51 52 55 public void decode(FacesContext facesContext, UIComponent uiComponent) { 56 } 57 58 61 public void encodeEnd(FacesContext facesContext, UIComponent uiComponent) 62 throws IOException { 63 64 DOMContext domContext = 65 DOMContext.attachDOMContext(facesContext, uiComponent); 66 67 validateParameters(facesContext, uiComponent, TreeNode.class); 68 resetDescendentIds(uiComponent); 69 UIComponent iconFacet = ((TreeNode) uiComponent).getIcon(); 70 UIComponent contentFacet = ((TreeNode) uiComponent).getContent(); 71 72 if (iconFacet != null && iconFacet.isRendered()) { 73 CustomComponentUtils.renderChild(facesContext, iconFacet); 74 } 75 if (contentFacet != null && contentFacet.isRendered()) { 76 CustomComponentUtils.renderChild(facesContext, contentFacet); 77 } 78 79 } 80 81 90 public static void resetDescendentIds(UIComponent uiComponent) { 91 uiComponent.setId(uiComponent.getId()); 92 Iterator it = uiComponent.getFacetsAndChildren(); 93 while (it.hasNext()) { 94 UIComponent next = (UIComponent) it.next(); 95 resetDescendentIds(next); 96 } 97 } 98 } 99 | Popular Tags |