org.richfaces.renderkit

## Class AbstractExtendedTableRenderer

- java.lang.Object
- - javax.faces.render.Renderer
  - - org.ajax4jsf.renderkit.RendererBase
    - - org.ajax4jsf.renderkit.HeaderResourcesRendererBase
      - - org.richfaces.renderkit.AbstractExtendedRowsRenderer
        - - org.richfaces.renderkit.AbstractExtendedTableRenderer

- All Implemented Interfaces:
    org.ajax4jsf.model.DataVisitor, org.ajax4jsf.renderkit.ChameleonRenderer, org.ajax4jsf.renderkit.HeaderResourceProducer, org.ajax4jsf.renderkit.HeaderResourceProducer2, org.ajax4jsf.resource.ResourceProduser
  Direct Known Subclasses:
    ExtendedDataTableRenderer

      public abstract class AbstractExtendedTableRenderer
      extends AbstractExtendedRowsRenderer

  Author:
    shura

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `AbstractExtendedTableRenderer.G3HeaderEncodeStrategy`
    `protected class` | `AbstractExtendedTableRenderer.RichHeaderEncodeStrategy`
    `protected class` | `AbstractExtendedTableRenderer.SimpleHeaderEncodeStrategy`

    - ### Nested classes/interfaces inherited from class org.richfaces.renderkit.AbstractExtendedRowsRenderer

      `AbstractExtendedRowsRenderer.CompositeRendererEnabler`

  - ### Field Summary

    - ### Fields inherited from class org.richfaces.renderkit.AbstractExtendedRowsRenderer

      `CELL_CLASS_KEY, composite, MENU_ID, ROW_CLASS_KEY, SKIN_CELL_CLASS_KEY, SKIN_FIRST_ROW_CLASS_KEY, SKIN_ROW_CLASS_KEY, TABLE_EVENT_ATTRS`

    - ### Fields inherited from class org.ajax4jsf.renderkit.RendererBase

      `JAVASCRIPT_NAMESPACE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractExtendedTableRenderer()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addInplaceInput(javax.faces.context.FacesContext context, javax.faces.component.UIComponent column)`
    `protected java.lang.String` | `buildAjaxFunction(javax.faces.context.FacesContext context, javax.faces.component.UIComponent column, boolean sortable, org.ajax4jsf.javascript.JSFunctionDefinition onAjaxCompleteFunction)`
    `protected int` | `calculateRowColumns(java.util.Iterator<javax.faces.component.UIComponent> col)` Calculate max number of columns per row.
    `void` | `contributorsEncodeHere(javax.faces.context.FacesContext context, UIDataTable table)`
    `java.lang.String` | `createClientDataTable(javax.faces.context.FacesContext context, UIExtendedDataTable table)`
    `protected void` | `doDecode(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)`
    `void` | `encodeBegin(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)`
    `void` | `encodeColumns(javax.faces.context.FacesContext context, UIExtendedDataTable table)` Encode all table structure - colgroups definitions, caption, header, footer
    `java.lang.String` | `encodeDragDropChildScripts(javax.faces.context.FacesContext context, UIDataTable component)`
    `void` | `encodeEnd(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)`
    `void` | `encodeFooter(javax.faces.context.FacesContext context, UIExtendedDataTable table)`
    `void` | `encodeHeader(javax.faces.context.FacesContext context, UIExtendedDataTable table)`
    `protected void` | `encodeHeaderFacets(javax.faces.context.FacesContext context, javax.faces.context.ResponseWriter writer, UIDataTable table, java.util.Iterator<UIColumn> headers, java.lang.String skinCellClass, java.lang.String headerClass, java.lang.String facetName, java.lang.String element, int colCount)`
    `void` | `encodeNamespace(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)`
    `void` | `encodeNoDataRow(javax.faces.context.FacesContext context, javax.faces.component.UIComponent component)`
    `void` | `encodeOneRow(javax.faces.context.FacesContext context, ExtendedTableHolder holder)`
    `protected void` | `encodeRowId(javax.faces.context.FacesContext context, javax.faces.context.ResponseWriter writer, UIDataTable table, int rowId)` Row ID generator
    `protected void` | `encodeRowStart(javax.faces.context.FacesContext context, java.lang.String skinClass, java.lang.String rowClass, UIDataTable table, TableHolder holder, javax.faces.context.ResponseWriter writer)`
    `protected void` | `encodeRowStart(javax.faces.context.FacesContext context, java.lang.String rowClass, UIDataTable table, TableHolder holder, javax.faces.context.ResponseWriter writer)`
    `void` | `encodeScriptIfNecessary(javax.faces.context.FacesContext context, UIExtendedDataTable table)`
    `void` | `encodeTableMenu(javax.faces.context.FacesContext context, UIExtendedDataTable table)`
    `protected java.lang.String` | `getCellSkinClass()`
    `protected org.ajax4jsf.javascript.JSFunction` | `getChangeColumnVisibilityFunction(javax.faces.context.FacesContext context, UIDataTable table)`
    `protected int` | `getColumnsCount(UIDataTable table)` Calculate total number of columns in table.
    `protected java.lang.String` | `getFirstRowSkinClass()`
    `protected org.ajax4jsf.javascript.JSFunction` | `getGroupFunction(javax.faces.context.FacesContext context, UIDataTable table)`
    `protected org.ajax4jsf.javascript.JSFunctionDefinition` | `getGroupFunctionDef(javax.faces.context.FacesContext context, UIDataTable table)`
    `static java.lang.String` | `getJavaScriptVarName(javax.faces.context.FacesContext context, UIDataTable grid)`
    `protected org.ajax4jsf.javascript.JSFunctionDefinition` | `getOnAjaxCompleteFunction(javax.faces.context.FacesContext context, UIDataTable table)`
    `protected org.ajax4jsf.javascript.JSFunctionDefinition` | `getOnGroupToggleFunctionDef(javax.faces.context.FacesContext context, UIDataTable table)`
    `protected org.ajax4jsf.javascript.JSFunctionDefinition` | `getOnResizeFunctionDef(javax.faces.context.FacesContext context, UIDataTable table)`
    `protected org.ajax4jsf.javascript.JSFunction` | `getPreSendAjaxRequestFunction(javax.faces.context.FacesContext context, UIDataTable table)`
    `protected java.lang.String` | `getRowSkinClass()`
    `protected java.lang.String` | `getScriptContributions(javax.faces.context.FacesContext context, UIDataTable grid)`
    `protected org.ajax4jsf.javascript.JSFunctionDefinition` | `getShowMenuFunction(javax.faces.context.FacesContext context, UIDataTable table)`
    `protected org.ajax4jsf.javascript.JSFunction` | `getSortFunction(javax.faces.context.FacesContext context, UIDataTable table)`
    `protected org.ajax4jsf.javascript.JSFunctionDefinition` | `getSortFunctionDef(javax.faces.context.FacesContext context, UIDataTable table)`
    `protected org.ajax4jsf.javascript.JSFunctionDefinition` | `getSortFunctionDef(javax.faces.context.FacesContext context, UIDataTable table, java.lang.Boolean asc)`
    `boolean` | `isColumnFacetPresent(UIDataTable table, java.lang.String facetName)`
    `protected boolean` | `isColumnRendered(javax.faces.component.UIComponent component)`
    `void` | `renderDragSupport(javax.faces.context.FacesContext context, UIColumn column, java.lang.String dragSourceId, java.lang.String indicatorId, java.lang.String dragLabel)`
    `void` | `renderDropSupport(javax.faces.context.FacesContext context, UIColumn column, java.lang.String dropTargetId, boolean before)`
    `protected boolean` | `rowGroupChanged(javax.faces.context.FacesContext context, ExtendedTableHolder holder)`

    - ### Methods inherited from class org.richfaces.renderkit.AbstractExtendedRowsRenderer

      `doCleanup, encodeCaption, encodeCellChildren, encodeChildren, encodeRowEvents, encodeRows, encodeRows, encodeStyle, encodeStyleClass, encodeTableHeaderFacet, getRendersChildren, getScripts, getStyles, process`

    - ### Methods inherited from class org.ajax4jsf.renderkit.HeaderResourcesRendererBase

      `encodeResourcesArray, encodeToHead, getHeaderScripts, getHeaderStyles`

    - ### Methods inherited from class org.ajax4jsf.renderkit.RendererBase

      `addResource, decode, doEncodeBegin, doEncodeChildren, doEncodeEnd, getComponentClass, getResource, getSkin, getUtils, preDecode, preEncodeBegin, renderChild, renderChildren`

    - ### Methods inherited from class javax.faces.render.Renderer

      `convertClientId, getConvertedValue`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AbstractExtendedTableRenderer

          public AbstractExtendedTableRenderer()

  - ### Method Detail

    - #### encodeColumns

          public void encodeColumns(javax.faces.context.FacesContext context,
                           UIExtendedDataTable table)
                             throws java.io.IOException

      Encode all table structure - colgroups definitions, caption, header, footer
      Parameters:
        `context` -
        `table` -
      Throws:
        `java.io.IOException`

    - #### encodeHeader

          public void encodeHeader(javax.faces.context.FacesContext context,
                          UIExtendedDataTable table)
                            throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### isColumnFacetPresent

          public boolean isColumnFacetPresent(UIDataTable table,
                                     java.lang.String facetName)

    - #### isColumnRendered

          protected boolean isColumnRendered(javax.faces.component.UIComponent component)

      Parameters:
        `component` -
      Returns:

    - #### encodeHeaderFacets

          protected void encodeHeaderFacets(javax.faces.context.FacesContext context,
                                javax.faces.context.ResponseWriter writer,
                                UIDataTable table,
                                java.util.Iterator<UIColumn> headers,
                                java.lang.String skinCellClass,
                                java.lang.String headerClass,
                                java.lang.String facetName,
                                java.lang.String element,
                                int colCount)
                                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### encodeFooter

          public void encodeFooter(javax.faces.context.FacesContext context,
                          UIExtendedDataTable table)
                            throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### rowGroupChanged

          protected boolean rowGroupChanged(javax.faces.context.FacesContext context,
                                ExtendedTableHolder holder)

    - #### encodeOneRow

          public void encodeOneRow(javax.faces.context.FacesContext context,
                          ExtendedTableHolder holder)
                            throws java.io.IOException

      Specified by:
        `encodeOneRow` in class `AbstractExtendedRowsRenderer`
      Throws:
        `java.io.IOException`

    - #### encodeRowStart

          protected void encodeRowStart(javax.faces.context.FacesContext context,
                            java.lang.String rowClass,
                            UIDataTable table,
                            TableHolder holder,
                            javax.faces.context.ResponseWriter writer)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### encodeNoDataRow

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

      Throws:
        `java.io.IOException`

    - #### getRowSkinClass

          protected java.lang.String getRowSkinClass()

      Returns:

    - #### getFirstRowSkinClass

          protected java.lang.String getFirstRowSkinClass()

      Returns:

    - #### getCellSkinClass

          protected java.lang.String getCellSkinClass()

      Returns:

    - #### encodeRowStart

          protected void encodeRowStart(javax.faces.context.FacesContext context,
                            java.lang.String skinClass,
                            java.lang.String rowClass,
                            UIDataTable table,
                            TableHolder holder,
                            javax.faces.context.ResponseWriter writer)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### encodeRowId

          protected void encodeRowId(javax.faces.context.FacesContext context,
                         javax.faces.context.ResponseWriter writer,
                         UIDataTable table,
                         int rowId)
                              throws java.io.IOException

      Row ID generator
      Parameters:
        `context` - current FacesContext
        `writer` - ResponseWriter for FacesContext
        `table` - table for which this row is being encoded
        `rowId` - new rowId to encode
      Throws:
        `java.io.IOException` - if ResponseWriter fails

    - #### getColumnsCount

          protected int getColumnsCount(UIDataTable table)

      Calculate total number of columns in table.
      Parameters:
        `context` -
        `table` -
      Returns:

    - #### calculateRowColumns

          protected int calculateRowColumns(java.util.Iterator<javax.faces.component.UIComponent> col)

      Calculate max number of columns per row. For rows, recursive calculate max length.
      Parameters:
        `col` - - Iterator other all columns in table.
      Returns:

    - #### encodeScriptIfNecessary

          public void encodeScriptIfNecessary(javax.faces.context.FacesContext context,
                                     UIExtendedDataTable table)
                                       throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### createClientDataTable

          public java.lang.String createClientDataTable(javax.faces.context.FacesContext context,
                                               UIExtendedDataTable table)

    - #### getShowMenuFunction

          protected org.ajax4jsf.javascript.JSFunctionDefinition getShowMenuFunction(javax.faces.context.FacesContext context,
                                                                         UIDataTable table)

    - #### getSortFunctionDef

          protected org.ajax4jsf.javascript.JSFunctionDefinition getSortFunctionDef(javax.faces.context.FacesContext context,
                                                                        UIDataTable table)

    - #### getSortFunctionDef

          protected org.ajax4jsf.javascript.JSFunctionDefinition getSortFunctionDef(javax.faces.context.FacesContext context,
                                                                        UIDataTable table,
                                                                        java.lang.Boolean asc)

    - #### getSortFunction

          protected org.ajax4jsf.javascript.JSFunction getSortFunction(javax.faces.context.FacesContext context,
                                                           UIDataTable table)

    - #### getGroupFunction

          protected org.ajax4jsf.javascript.JSFunction getGroupFunction(javax.faces.context.FacesContext context,
                                                            UIDataTable table)

    - #### getGroupFunctionDef

          protected org.ajax4jsf.javascript.JSFunctionDefinition getGroupFunctionDef(javax.faces.context.FacesContext context,
                                                                         UIDataTable table)

    - #### getOnGroupToggleFunctionDef

          protected org.ajax4jsf.javascript.JSFunctionDefinition getOnGroupToggleFunctionDef(javax.faces.context.FacesContext context,
                                                                                 UIDataTable table)

    - #### getOnResizeFunctionDef

          protected org.ajax4jsf.javascript.JSFunctionDefinition getOnResizeFunctionDef(javax.faces.context.FacesContext context,
                                                                            UIDataTable table)

    - #### getChangeColumnVisibilityFunction

          protected org.ajax4jsf.javascript.JSFunction getChangeColumnVisibilityFunction(javax.faces.context.FacesContext context,
                                                                             UIDataTable table)

    - #### getPreSendAjaxRequestFunction

          protected org.ajax4jsf.javascript.JSFunction getPreSendAjaxRequestFunction(javax.faces.context.FacesContext context,
                                                                         UIDataTable table)

    - #### doDecode

          protected void doDecode(javax.faces.context.FacesContext context,
                      javax.faces.component.UIComponent component)

      Overrides:
        `doDecode` in class `org.ajax4jsf.renderkit.RendererBase`

    - #### encodeBegin

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

      Overrides:
        `encodeBegin` in class `org.ajax4jsf.renderkit.RendererBase`
      Throws:
        `java.io.IOException`

    - #### encodeEnd

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

      Overrides:
        `encodeEnd` in class `org.ajax4jsf.renderkit.RendererBase`
      Throws:
        `java.io.IOException`

    - #### addInplaceInput

          protected void addInplaceInput(javax.faces.context.FacesContext context,
                             javax.faces.component.UIComponent column)
                                  throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### buildAjaxFunction

          protected java.lang.String buildAjaxFunction(javax.faces.context.FacesContext context,
                                           javax.faces.component.UIComponent column,
                                           boolean sortable,
                                           org.ajax4jsf.javascript.JSFunctionDefinition onAjaxCompleteFunction)

    - #### encodeDragDropChildScripts

          public java.lang.String encodeDragDropChildScripts(javax.faces.context.FacesContext context,
                                                    UIDataTable component)
                                                      throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### encodeNamespace

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

      Throws:
        `java.io.IOException`

    - #### renderDragSupport

          public void renderDragSupport(javax.faces.context.FacesContext context,
                               UIColumn column,
                               java.lang.String dragSourceId,
                               java.lang.String indicatorId,
                               java.lang.String dragLabel)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### renderDropSupport

          public void renderDropSupport(javax.faces.context.FacesContext context,
                               UIColumn column,
                               java.lang.String dropTargetId,
                               boolean before)
                                 throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getJavaScriptVarName

          public static java.lang.String getJavaScriptVarName(javax.faces.context.FacesContext context,
                                              UIDataTable grid)

    - #### getScriptContributions

          protected java.lang.String getScriptContributions(javax.faces.context.FacesContext context,
                                                UIDataTable grid)

    - #### getOnAjaxCompleteFunction

          protected org.ajax4jsf.javascript.JSFunctionDefinition getOnAjaxCompleteFunction(javax.faces.context.FacesContext context,
                                                                               UIDataTable table)

    - #### encodeTableMenu

          public void encodeTableMenu(javax.faces.context.FacesContext context,
                             UIExtendedDataTable table)
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### contributorsEncodeHere

          public void contributorsEncodeHere(javax.faces.context.FacesContext context,
                                    UIDataTable table)
                                      throws java.io.IOException

      Throws:
        `java.io.IOException`

Copyright © 2014. All Rights Reserved.