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
`(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
`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