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 and 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 and 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