org.richfaces.component

## Class AbstractExtendedDataTable

- java.lang.Object
- - javax.faces.component.UIComponent
  - - javax.faces.component.UIComponentBase
    - - org.richfaces.component.UIDataAdaptor
      - - org.richfaces.component.UISequence
        - - org.richfaces.component.UIDataTableBase
          - - org.richfaces.component.AbstractExtendedDataTable

- All Implemented Interfaces:
    EventListener, javax.faces.component.NamingContainer, javax.faces.component.PartialStateHolder, javax.faces.component.StateHolder, javax.faces.component.TransientStateHolder, javax.faces.component.UniqueIdVendor, javax.faces.event.ComponentSystemEventListener, javax.faces.event.FacesListener, javax.faces.event.SystemEventListener, javax.faces.event.SystemEventListenerHolder, org.ajax4jsf.component.IterationStateHolder, org.richfaces.component.MetaComponentEncoder, org.richfaces.component.MetaComponentResolver, org.richfaces.component.Row
  Direct Known Subclasses:
    UIExtendedDataTable

      public abstract class AbstractExtendedDataTable
      extends UIDataTableBase
      implements org.richfaces.component.MetaComponentResolver, org.richfaces.component.MetaComponentEncoder

  The <rich:extendedDataTable> component builds on the functionality of the <rich:dataTable> component, adding features such as scrolling for the table body (both horizontal and vertical), Ajax loading for vertical scrolling, frozen columns, row selection, and rearranging of columns. It also supports all the basic table features such as sorting, filtering, and paging using the <rich:dataScroller> component.

  Author:
    Konstantin Mishin

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected static class` | `AbstractExtendedDataTable.PropertyKeys`

    - ### Nested classes/interfaces inherited from class org.richfaces.component.UIDataAdaptor

      `UIDataAdaptor.ComponentVisitor`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `COMPONENT_FAMILY`
    `static String` | `COMPONENT_TYPE`
    `static String` | `OLD_CLIENT_FIRST`
    `static String` | `SCROLL`
    `static String` | `SUBMITTED_CLIENT_FIRST`

    - ### Fields inherited from class org.richfaces.component.UIDataTableBase

      `BODY, FOOTER, FOOTER_FACET_NAME, HEADER, HEADER_FACET_NAME, NODATA_FACET_NAME`

    - ### Fields inherited from class org.richfaces.component.UIDataAdaptor

      `decodeVisitor, updateVisitor, validateVisitor`

    - ### Fields inherited from class javax.faces.component.UIComponent

      `ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY`

    - ### Fields inherited from interface org.richfaces.component.MetaComponentResolver

      `META_COMPONENT_SEPARATOR_CHAR`

    - ### Fields inherited from interface javax.faces.component.NamingContainer

      `SEPARATOR_CHAR`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractExtendedDataTable()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `encodeMetaComponent(javax.faces.context.FacesContext context, String metaComponentId)`
    `protected int` | `getActualFirst()`
    `protected int` | `getActualRows()`
    `int` | `getClientFirst()`
    `int` | `getClientRows()` Use to switch Extended Data Table to AJAX lazy-loading mode.
    `abstract String[]` | `getColumnsOrder()` Determines the order in which the columns should be rendered, left to right.
    `abstract int` | `getFrozenColumns()` Determines how many columns should not be vertically scrollable (should be "frozen").
    `abstract String` | `getOnbeforeselectionchange()` The client-side script method to be called before the selection is changed.
    `abstract String` | `getOnready()` The client-side script method to be called after the EDT has been initialized, either after a page load, and an ajax update.
    `abstract String` | `getOnselectionchange()` The client-side script method to be called after the selection is changed.
    `abstract Collection<Object>` | `getSelection()` The collection of keys for currently selected table rows (generated from data model by rowKeyConverter).
    `abstract org.richfaces.model.SelectionMode` | `getSelectionMode()` Defines selection mode for the table: none, single (only one row can be selected), multiple (Ctrl/Shift keys are used for multi-selection), multipleKeyboardFree (clicks are used for multi-selection)
    `abstract String` | `getStyleClass()`
    `abstract String` | `getTableState()` ValueBinding pointing at a property of a String to hold table state
    `String` | `resolveClientId(javax.faces.context.FacesContext facesContext, javax.faces.component.UIComponent contextComponent, String metaComponentId)`
    `void` | `setClientFirst(int clientFirst)`
    `void` | `setClientRows(int clientRows)`
    `void` | `setFirst(int first)`
    `void` | `setValueBinding(String name, javax.faces.el.ValueBinding binding)`
    `void` | `setValueExpression(String name, javax.el.ValueExpression binding)`
    `protected boolean` | `visitDataChildren(javax.faces.component.visit.VisitContext visitContext, javax.faces.component.visit.VisitCallback callback, boolean visitRows)`

    - ### Methods inherited from class org.richfaces.component.UIDataTableBase

      `addFilteringListener, addSortingListener, columns, createExtendedDataModel, dataChildren, fixedChildren, getColumnClasses, getFilteringListeners, getFilterVar, getFooter, getFooterClass, getHeader, getHeaderClass, getNoData, getNoDataLabel, getOnrowclick, getOnrowdblclick, getOnrowkeydown, getOnrowkeypress, getOnrowkeyup, getOnrowmousedown, getOnrowmousemove, getOnrowmouseout, getOnrowmouseover, getOnrowmouseup, getRendersChildren, getRowClass, getRowClasses, getSortingListeners, getSortMode, getSortPriority, getStyle, getSupportedMetaComponents, hasRowChildren, isColumnFacetPresent, queueEvent, removeFilteringListener, removeSortingListener, restoreChildState, substituteUnresolvedClientId, visitFixedChildren, walk`

    - ### Methods inherited from class org.richfaces.component.UISequence

      `captureOrigValue, createComponentState, createFacesModel, getFirst, getIterationStatusVar, getRelativeClientId, getRelativeRowIndex, getRowIndex, getRowKeyConverter, getRows, getValue, preEncodeBegin, restoreOrigValue, setIterationStatusVar, setRows, setupVariable, setValue, updateState, updateState`

    - ### Methods inherited from class org.richfaces.component.UIDataAdaptor

      `allFixedChildren, broadcast, clearExtendedDataModel, clearInitialState, createUniqueId, doUpdate, extractKeySegment, getComponentState, getContainerClientId, getContainerClientId, getExtendedDataModel, getFamily, getIterationState, getLocalComponentState, getRowCount, getRowData, getRowKey, getRowKeyVar, getStateVar, getVar, getVariablesMap, invokeOnComponent, invokeOnRow, isKeepSaved, isListenerForSource, isRowAvailable, iterate, keepSaved, markInitialState, preDecode, preUpdate, preValidate, processDecodes, processDecodesChildren, processEvent, processEvent, processUpdates, processUpdatesChildren, processValidatesChildren, processValidators, resetChildState, resetDataModel, restoreChildState, restoreState, saveChildState, saveChildState, saveState, setExtendedDataModel, setId, setIterationState, setKeepSaved, setRowKey, setRowKey, setRowKeyConverter, setRowKeyVar, setStateVar, setVar, visitDataChildrenMetaComponents, visitTree, walk, wrapEvent`

    - ### Methods inherited from class javax.faces.component.UIComponentBase

      `addClientBehavior, addFacesListener, decode, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getRenderer, getRendererType, getValueBinding, isRendered, isTransient, processRestoreState, processSaveState, removeFacesListener, restoreAttachedState, saveAttachedState, setParent, setRendered, setRendererType, setTransient, subscribeToEvent, unsubscribeFromEvent`

    - ### Methods inherited from class javax.faces.component.UIComponent

      `encodeAll, getClientId, getCompositeComponentParent, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, pushComponentToEL, restoreTransientState, saveTransientState, setInView`

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

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

    - ### Methods inherited from interface org.richfaces.component.MetaComponentResolver

      `substituteUnresolvedClientId`

    - ### Methods inherited from interface org.richfaces.component.Row

      `setRowKey, walk`

- - ### Field Detail

    - #### COMPONENT_TYPE

          public static final String COMPONENT_TYPE

      See Also:
        Constant Field Values

    - #### COMPONENT_FAMILY

          public static final String COMPONENT_FAMILY

      See Also:
        Constant Field Values

    - #### SCROLL

          public static final String SCROLL

      See Also:
        Constant Field Values

    - #### SUBMITTED_CLIENT_FIRST

          public static final String SUBMITTED_CLIENT_FIRST

      See Also:
        Constant Field Values

    - #### OLD_CLIENT_FIRST

          public static final String OLD_CLIENT_FIRST

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### AbstractExtendedDataTable

          public AbstractExtendedDataTable()

  - ### Method Detail

    - #### getFrozenColumns

          public abstract int getFrozenColumns()

      Determines how many columns should not be vertically scrollable (should be "frozen").

    - #### getStyleClass

          public abstract String getStyleClass()

    - #### getSelectionMode

          public abstract org.richfaces.model.SelectionMode getSelectionMode()

      Defines selection mode for the table: none, single (only one row can be selected), multiple (Ctrl/Shift keys are used for multi-selection), multipleKeyboardFree (clicks are used for multi-selection)

    - #### getOnready

          public abstract String getOnready()

      The client-side script method to be called after the EDT has been initialized, either after a page load, and an ajax update.

    - #### getOnselectionchange

          public abstract String getOnselectionchange()

      The client-side script method to be called after the selection is changed.

    - #### getColumnsOrder

          public abstract String[] getColumnsOrder()

      Determines the order in which the columns should be rendered, left to right. The Strings are the ids of the columns.

    - #### getTableState

          public abstract String getTableState()

      ValueBinding pointing at a property of a String to hold table state

    - #### getOnbeforeselectionchange

          public abstract String getOnbeforeselectionchange()

      The client-side script method to be called before the selection is changed.

    - #### resolveClientId

          public String resolveClientId(javax.faces.context.FacesContext facesContext,
                               javax.faces.component.UIComponent contextComponent,
                               String metaComponentId)

      Specified by:
        `resolveClientId` in interface `org.richfaces.component.MetaComponentResolver`
      Overrides:
        `resolveClientId` in class `UIDataTableBase`

    - #### encodeMetaComponent

          public void encodeMetaComponent(javax.faces.context.FacesContext context,
                                 String metaComponentId)
                                   throws IOException

      Specified by:
        `encodeMetaComponent` in interface `org.richfaces.component.MetaComponentEncoder`
      Overrides:
        `encodeMetaComponent` in class `UIDataTableBase`
      Throws:
        `IOException`

    - #### visitDataChildren

          protected boolean visitDataChildren(javax.faces.component.visit.VisitContext visitContext,
                                  javax.faces.component.visit.VisitCallback callback,
                                  boolean visitRows)

      Overrides:
        `visitDataChildren` in class `UIDataTableBase`

    - #### getActualFirst

          protected int getActualFirst()

      Overrides:
        `getActualFirst` in class `UISequence`

    - #### getActualRows

          protected int getActualRows()

      Overrides:
        `getActualRows` in class `UISequence`

    - #### getClientFirst

          public int getClientFirst()

    - #### setClientFirst

          public void setClientFirst(int clientFirst)

    - #### setFirst

          public void setFirst(int first)

      Overrides:
        `setFirst` in class `UISequence`

    - #### getClientRows

          public int getClientRows()

      Use to switch Extended Data Table to AJAX lazy-loading mode. Specify number of rows rows to be loaded with one request. If this attribute is set to "0", all rows are loaded. (Default value: 0)

    - #### setClientRows

          public void setClientRows(int clientRows)

    - #### setValueBinding

          public void setValueBinding(String name,
                             javax.faces.el.ValueBinding binding)

      Overrides:
        `setValueBinding` in class `UISequence`

    - #### setValueExpression

          public void setValueExpression(String name,
                                javax.el.ValueExpression binding)

      Overrides:
        `setValueExpression` in class `UISequence`

    - #### getSelection

          public abstract Collection<Object> getSelection()

      The collection of keys for currently selected table rows (generated from data model by rowKeyConverter).

Copyright © 2013 JBoss by Red Hat. All Rights Reserved.