Package com.google.gwt.user.cellview.client

## Class Header<H>

- java.lang.Object
- - com.google.gwt.user.cellview.client.Header<H>

- Type Parameters:
    `H` - the `Cell` type
  Direct Known Subclasses:
    `SafeHtmlHeader`, `TextHeader`

      public abstract class Header<H>
      extends java.lang.Object

  A table column header or footer.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Header​(Cell<H> cell)` | Construct a Header with a given `Cell`.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Cell<H>` | `getCell()` | Return the `Cell` responsible for rendering items in the header.
    `java.lang.String` | `getHeaderStyleNames()` | Get extra style names that should be applied to a cell in this header.
    `java.lang.Object` | `getKey()` | Get the key for the header value.
    `abstract H` | `getValue()` | Return the header value.
    `void` | `onBrowserEvent​(Cell.Context context, Element elem, NativeEvent event)` | Handle a browser event that took place within the header.
    `boolean` | `onPreviewColumnSortEvent​(Cell.Context context, Element elem, NativeEvent event)` | Preview a browser event that may trigger a column sort event.
    `void` | `render​(Cell.Context context, SafeHtmlBuilder sb)` | Render the header.
    `void` | `setHeaderStyleNames​(java.lang.String styleNames)` | Set extra style names that should be applied to every cell in this header.
    `void` | `setUpdater​(ValueUpdater<H> updater)` | Set the `ValueUpdater`.

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

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

- - ### Constructor Detail

    - #### Header

          public Header​(Cell<H> cell)

      Construct a Header with a given `Cell`.
      Parameters:
        `cell` - the `Cell` responsible for rendering items in the header

  - ### Method Detail

    - #### getCell

          public Cell<H> getCell()

      Return the `Cell` responsible for rendering items in the header.
      Returns:
        the header Cell

    - #### getHeaderStyleNames

          public java.lang.String getHeaderStyleNames()

      Get extra style names that should be applied to a cell in this header. May be overridden to get value dependent styles by calling `getValue()`.
      Returns:
        the extra styles of the given row in a space-separated list, or `null` if there are no extra styles for the cells in this header

    - #### getKey

          public java.lang.Object getKey()

      Get the key for the header value. By default, the key is the same as the value. Override this method to return a custom key.
      Returns:
        the key associated with the value

    - #### getValue

          public abstract H getValue()

      Return the header value.
      Returns:
        the header value

    - #### onBrowserEvent

          public void onBrowserEvent​(Cell.Context context,
                                     Element elem,
                                     NativeEvent event)

      Handle a browser event that took place within the header.
      Parameters:
        `context` - the context of the header
        `elem` - the parent Element
        `event` - the native browser event

    - #### onPreviewColumnSortEvent

          public boolean onPreviewColumnSortEvent​(Cell.Context context,
                                                  Element elem,
                                                  NativeEvent event)

      Preview a browser event that may trigger a column sort event. Return true if the `CellTable` should proceed with sorting the column. Subclasses can override this method to disable column sort for some click events, or particular header/footer sections.

      This method will be invoked even if the header's cell does not consume a click event.

      Parameters:
        `context` - the context of the header
        `elem` - the parent Element
        `event` - the native browser event
      Returns:
        true if the `CellTable` should continue respond to the event (i.e., if this is a click event on a sortable column's header, fire `ColumnSortEvent`). False if the `CellTable` should stop respond to the event.

    - #### render

          public void render​(Cell.Context context,
                             SafeHtmlBuilder sb)

      Render the header.
      Parameters:
        `context` - the context of the header
        `sb` - a `SafeHtmlBuilder` to render into

    - #### setHeaderStyleNames

          public void setHeaderStyleNames​(java.lang.String styleNames)

      Set extra style names that should be applied to every cell in this header.

      If you want to apply style names based on the header value, override `#getHeaderStyleNames(Object)` directly.

      Parameters:
        `styleNames` - the extra style names to apply in a space-separated list, or `null` if there are no extra styles for this cell

    - #### setUpdater

          public void setUpdater​(ValueUpdater<H> updater)

      Set the `ValueUpdater`.
      Parameters:
        `updater` - the value updater to use