com.google.gwt.user.cellview.client

## Class CellTreeNodeView.NodeCellList<C>

- java.lang.Object
- - com.google.gwt.user.cellview.client.CellTreeNodeView.NodeCellList<C>

- Type Parameters:
    `C` - the child item type
  All Implemented Interfaces:
    HasHandlers, HasCellPreviewHandlers<C>, HasData<C>, HasRows
  Enclosing class:
    CellTreeNodeView<T>

      static class CellTreeNodeView.NodeCellList<C>
      extends java.lang.Object
      implements HasData<C>

  The `HasData` used to show children. This class is intentionally static because we might move it to a new `CellTreeNodeView`, and we don't want non-static references to the old `CellTreeNodeView`.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) HasDataPresenter<C>` | `presenter`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `NodeCellList(TreeViewModel.NodeInfo<C> nodeInfo, CellTreeNodeView<?> nodeView, int pageSize)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `HandlerRegistration` | `addCellPreviewHandler(CellPreviewEvent.Handler<C> handler)` Adds a `CellPreviewEvent` handler.
    `HandlerRegistration` | `addRangeChangeHandler(RangeChangeEvent.Handler handler)` Add a `RangeChangeEvent.Handler`.
    `HandlerRegistration` | `addRowCountChangeHandler(RowCountChangeEvent.Handler handler)` Add a `RowCountChangeEvent.Handler`.
    `void` | `cleanup()` Cleanup this node view.
    `void` | `fireEvent(GwtEvent<?> event)` Fires the given event to the handlers listening to the event's type.
    `int` | `getDefaultPageSize()`
    `int` | `getRowCount()` Get the total count of all rows.
    `SelectionModel<? super C>` | `getSelectionModel()` Get the `SelectionModel` used by this `HasData`.
    `C` | `getVisibleItem(int indexOnPage)` Get the row value at the specified visible index.
    `int` | `getVisibleItemCount()` Get the number of visible items being displayed.
    `java.util.List<C>` | `getVisibleItems()` Get an `Iterable` composed of all of the visible items.
    `Range` | `getVisibleRange()` Get the range of visible rows.
    `boolean` | `isRowCountExact()` Check if the total row count is exact, or an estimate.
    `void` | `setRowCount(int count)` Set the exact total count of all rows.
    `void` | `setRowCount(int size, boolean isExact)` Set the total count of all rows, specifying whether the count is exact or an estimate.
    `void` | `setRowData(int start, java.util.List<? extends C> values)` Set a values associated with the rows in the visible range.
    `void` | `setSelectionModel(SelectionModel<? super C> selectionModel)` Set the `SelectionModel` used by this `HasData`.
    `void` | `setVisibleRange(int start, int length)` Set the visible range or rows.
    `void` | `setVisibleRange(Range range)` Set the visible range or rows.
    `void` | `setVisibleRangeAndClearData(Range range, boolean forceRangeChangeEvent)` Set the visible range and clear the current visible data.

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

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

- - ### Field Detail

    - #### presenter

          final HasDataPresenter<C> presenter

  - ### Constructor Detail

    - #### NodeCellList

          public NodeCellList(TreeViewModel.NodeInfo<C> nodeInfo,
                              CellTreeNodeView<?> nodeView,
                              int pageSize)

  - ### Method Detail

    - #### addCellPreviewHandler

          public HandlerRegistration addCellPreviewHandler(CellPreviewEvent.Handler<C> handler)

      Description copied from interface: `HasCellPreviewHandlers`
      Adds a `CellPreviewEvent` handler.
      Specified by:
        `addCellPreviewHandler` in interface `HasCellPreviewHandlers<C>`
      Parameters:
        `handler` - the handler
      Returns:
        the registration for the event

    - #### addRangeChangeHandler

          public HandlerRegistration addRangeChangeHandler(RangeChangeEvent.Handler handler)

      Description copied from interface: `HasRows`
      Add a `RangeChangeEvent.Handler`.
      Specified by:
        `addRangeChangeHandler` in interface `HasRows`
      Parameters:
        `handler` - the handler
      Returns:
        a `HandlerRegistration` to remove the handler

    - #### addRowCountChangeHandler

          public HandlerRegistration addRowCountChangeHandler(RowCountChangeEvent.Handler handler)

      Description copied from interface: `HasRows`
      Add a `RowCountChangeEvent.Handler`.
      Specified by:
        `addRowCountChangeHandler` in interface `HasRows`
      Parameters:
        `handler` - the handler
      Returns:
        a `HandlerRegistration` to remove the handler

    - #### cleanup

          public void cleanup()

      Cleanup this node view.

    - #### fireEvent

          public void fireEvent(GwtEvent<?> event)

      Description copied from interface: `HasHandlers`
      Fires the given event to the handlers listening to the event's type.

      Any exceptions thrown by handlers will be bundled into a `UmbrellaException` and then re-thrown after all handlers have completed. An exception thrown by a handler will not prevent other handlers from executing.

      Specified by:
        `fireEvent` in interface `HasHandlers`
      Parameters:
        `event` - the event

    - #### getDefaultPageSize

          public int getDefaultPageSize()

    - #### getRowCount

          public int getRowCount()

      Description copied from interface: `HasRows`
      Get the total count of all rows.
      Specified by:
        `getRowCount` in interface `HasRows`
      Returns:
        the total row count
      See Also:
        `HasRows.setRowCount(int)`

    - #### getSelectionModel

          public SelectionModel<? super C> getSelectionModel()

      Description copied from interface: `HasData`
      Get the `SelectionModel` used by this `HasData`.
      Specified by:
        `getSelectionModel` in interface `HasData<C>`
      Returns:
        the `SelectionModel`
      See Also:
        `HasData.setSelectionModel(SelectionModel)`

    - #### getVisibleItem

          public C getVisibleItem(int indexOnPage)

      Description copied from interface: `HasData`
      Get the row value at the specified visible index. Index 0 corresponds to the first item on the page.
      Specified by:
        `getVisibleItem` in interface `HasData<C>`
      Parameters:
        `indexOnPage` - the index on the page
      Returns:
        the row value

    - #### getVisibleItemCount

          public int getVisibleItemCount()

      Description copied from interface: `HasData`
      Get the number of visible items being displayed. Note that this value might be less than the page size if there is not enough data to fill the page.
      Specified by:
        `getVisibleItemCount` in interface `HasData<C>`
      Returns:
        the number of visible items on the page

    - #### getVisibleItems

          public java.util.List<C> getVisibleItems()

      Description copied from interface: `HasData`
      Get an `Iterable` composed of all of the visible items.
      Specified by:
        `getVisibleItems` in interface `HasData<C>`
      Returns:
        an `Iterable` instance

    - #### getVisibleRange

          public Range getVisibleRange()

      Description copied from interface: `HasRows`
      Get the range of visible rows.
      Specified by:
        `getVisibleRange` in interface `HasRows`
      Returns:
        the visible range
      See Also:
        `HasRows.setVisibleRange(Range)`, `HasRows.setVisibleRange(int, int)`

    - #### isRowCountExact

          public boolean isRowCountExact()

      Description copied from interface: `HasRows`
      Check if the total row count is exact, or an estimate.
      Specified by:
        `isRowCountExact` in interface `HasRows`
      Returns:
        true if exact, false if an estimate

    - #### setRowCount

          public final void setRowCount(int count)

      Description copied from interface: `HasRows`
      Set the exact total count of all rows. This method defers to `HasRows.setRowCount(int, boolean)`.
      Specified by:
        `setRowCount` in interface `HasRows`
      Parameters:
        `count` - the exact total count
      See Also:
        `HasRows.getRowCount()`

    - #### setRowCount

          public void setRowCount(int size,
                                  boolean isExact)

      Description copied from interface: `HasRows`
      Set the total count of all rows, specifying whether the count is exact or an estimate.
      Specified by:
        `setRowCount` in interface `HasRows`
      Parameters:
        `size` - the total count
        `isExact` - true if the count is exact, false if an estimate
      See Also:
        `HasRows.getRowCount()`

    - #### setRowData

          public void setRowData(int start,
                                 java.util.List<? extends C> values)

      Description copied from interface: `HasData`

      Set a values associated with the rows in the visible range.

      This method does not replace all rows in the display; it replaces the row values starting at the specified start index through the length of the specified values. You must call `HasRows.setRowCount(int)` to set the total number of rows in the display. You should also use `HasRows.setRowCount(int)` to remove rows when the total number of rows decreases.

      Specified by:
        `setRowData` in interface `HasData<C>`
      Parameters:
        `start` - the start index of the data
        `values` - the values within the range

    - #### setSelectionModel

          public void setSelectionModel(SelectionModel<? super C> selectionModel)

      Description copied from interface: `HasData`
      Set the `SelectionModel` used by this `HasData`.
      Specified by:
        `setSelectionModel` in interface `HasData<C>`
      Parameters:
        `selectionModel` - the `SelectionModel`
      See Also:
        `HasData.getSelectionModel()`

    - #### setVisibleRange

          public final void setVisibleRange(int start,
                                            int length)

      Description copied from interface: `HasRows`
      Set the visible range or rows. This method defers to `HasRows.setVisibleRange(Range)`.
      Specified by:
        `setVisibleRange` in interface `HasRows`
      Parameters:
        `start` - the start index
        `length` - the length
      See Also:
        `HasRows.getVisibleRange()`

    - #### setVisibleRange

          public void setVisibleRange(Range range)

      Description copied from interface: `HasRows`
      Set the visible range or rows.
      Specified by:
        `setVisibleRange` in interface `HasRows`
      Parameters:
        `range` - the visible range
      See Also:
        `HasRows.getVisibleRange()`

    - #### setVisibleRangeAndClearData

          public void setVisibleRangeAndClearData(Range range,
                                                  boolean forceRangeChangeEvent)

      Description copied from interface: `HasData`

      Set the visible range and clear the current visible data.

      If the second argument `forceRangeChangeEvent` is true, a `RangeChangeEvent` will be fired even if the range does not change. If false, a `RangeChangeEvent` will only be fired if the range changes.

      Specified by:
        `setVisibleRangeAndClearData` in interface `HasData<C>`
      Parameters:
        `range` - the new `Range`
        `forceRangeChangeEvent` - true to fire a `RangeChangeEvent` even if the `Range` doesn't change