## org.apache.myfaces.custom.tree2
Class HtmlTreeRenderer

    java.lang.Object
      javax.faces.render.Renderer
          org.apache.myfaces.custom.tree2.HtmlTreeRenderer

public class HtmlTreeRenderer
extends javax.faces.render.Renderer

Version:
  $Revision: 292066 $ $Date: 2005-09-27 18:46:08 -0400 (Tue, 27 Sep 2005) $
Author:
  Sean Schofield, Chris Barlow, Hans Bergsten (Some code taken from an example in his O'Reilly JavaServer Faces book. Copied with permission)

Field Summary
`protected static java.lang.String` `ROOT_NODE_ID`
`protected static java.lang.String` `TOGGLE_SPAN`

Constructor Summary
`HtmlTreeRenderer()`

Method Summary
`protected void` `afterNodeEncode(javax.faces.context.FacesContext context, javax.faces.context.ResponseWriter out)`
`protected void` `beforeNodeEncode(javax.faces.context.FacesContext context, javax.faces.context.ResponseWriter out, HtmlTree tree)`
`void` `decode(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)`
`void` `encodeBegin(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)`
`void` `encodeChildren(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)` Renders the whole tree.
`protected void` `encodeCurrentNode(javax.faces.context.FacesContext context, javax.faces.context.ResponseWriter out, HtmlTree tree)` Encodes the current node.
`protected void` `encodeTree(javax.faces.context.FacesContext context, javax.faces.context.ResponseWriter out, HtmlTree tree, java.lang.String parentId, int childCount)` Encodes the tree and its children.
`protected boolean` `getBoolean(javax.faces.component.UIComponent component, java.lang.String attributeName, boolean defaultValue)` Helper method for getting the boolean value of an attribute.
`boolean` `getRendersChildren()`

Methods inherited from class javax.faces.render.Renderer
`convertClientId, encodeEnd, getConvertedValue`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### TOGGLE_SPAN

    protected static final java.lang.String TOGGLE_SPAN

See Also:
  Constant Field Values

### ROOT_NODE_ID

    protected static final java.lang.String ROOT_NODE_ID

See Also:
  Constant Field Values

Constructor Detail

### HtmlTreeRenderer

    public HtmlTreeRenderer()

Method Detail

### getRendersChildren

    public boolean getRendersChildren()

### decode

    public void decode(javax.faces.context.FacesContext context,
                       javax.faces.component.UIComponent component)

### encodeBegin

    public void encodeBegin(javax.faces.context.FacesContext context,
                            javax.faces.component.UIComponent component)
                     throws java.io.IOException

  Throws:
    `java.io.IOException`

### encodeChildren

    public void encodeChildren(javax.faces.context.FacesContext context,
                               javax.faces.component.UIComponent component)
                        throws java.io.IOException

  Renders the whole tree. It generates a `<span>` element with an `id` attribute if the component has been given an explicit ID. The model nodes are rendered recursively by the private `encodeNodes` method.

  Parameters:
    `context` - FacesContext
    `component` - The component whose children are to be rendered
  Throws:
    `java.io.IOException`

### encodeTree

    protected void encodeTree(javax.faces.context.FacesContext context,
                              javax.faces.context.ResponseWriter out,
                              HtmlTree tree,
                              java.lang.String parentId,
                              int childCount)
                       throws java.io.IOException

  Encodes the tree and its children.

  Parameters:
    `context` - FacesContext
    `out` - ResponseWriter
    `tree` - HtmlTree
    `parentId` - The parent's node id (where parent is the parent of the node we are about to render.)
    `childCount` - If this node is a child of another node, the count indicates which child number it is (used to construct the id of the next node to render.)
  Throws:
    `java.io.IOException`

### encodeCurrentNode

    protected void encodeCurrentNode(javax.faces.context.FacesContext context,
                                     javax.faces.context.ResponseWriter out,
                                     HtmlTree tree)
                              throws java.io.IOException

  Encodes the current node. It is protected so that custom `Renderer`s can extend it. That might be useful if you would like to render additional per node information besides the tree node.

  Parameters:
    `context` - FacesContext
    `out` - ResponseWriter
    `tree` - HtmlTree
  Throws:
    `java.io.IOException`

### beforeNodeEncode

    protected void beforeNodeEncode(javax.faces.context.FacesContext context,
                                    javax.faces.context.ResponseWriter out,
                                    HtmlTree tree)
                             throws java.io.IOException

  Throws:
    `java.io.IOException`

### afterNodeEncode

    protected void afterNodeEncode(javax.faces.context.FacesContext context,
                                   javax.faces.context.ResponseWriter out)
                            throws java.io.IOException

  Throws:
    `java.io.IOException`

### getBoolean

    protected boolean getBoolean(javax.faces.component.UIComponent component,
                                 java.lang.String attributeName,
                                 boolean defaultValue)

  Helper method for getting the boolean value of an attribute. If the attribute is not specified, then return the default value.

  Parameters:
    `component` - The component for which the attributes are to be checked.
    `attributeName` - The name of the boolean attribute.
    `defaultValue` - The default value of the attribute (to be returned if no value found).
  Returns:
    boolean