com.google.gwt.user.cellview.client

## Class ColumnSortList

- java.lang.Object
- - com.google.gwt.user.cellview.client.ColumnSortList

-     public class ColumnSortList
      extends java.lang.Object

  An ordered list containing the sort history of `Column`s in a table. The 0th item is the `ColumnSortList.ColumnSortInfo` of the most recently sorted column.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ColumnSortList.ColumnSortInfo` Information about the sort order of a specific column in a table.
    `static interface` | `ColumnSortList.Delegate` The delegate that handles modifications to the list.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ColumnSortList()` Construct a new `ColumnSortList` without a `ColumnSortList.Delegate`.
    `ColumnSortList(ColumnSortList.Delegate delegate)` Construct a new `ColumnSortList` with the specified `ColumnSortList.Delegate`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()` Removes all of the elements from this list.
    `boolean` | `equals(java.lang.Object obj)` Check if the specified object equals this list.
    `ColumnSortList.ColumnSortInfo` | `get(int index)` Get the `ColumnSortList.ColumnSortInfo` at the specified index.
    `int` | `getLimit()` Get the actual limit value
    `int` | `hashCode()`
    `void` | `insert(int index, ColumnSortList.ColumnSortInfo sortInfo)` Inserts the specified `ColumnSortList.ColumnSortInfo` at the specified position in this list.
    `ColumnSortList.ColumnSortInfo` | `push(Column<?,?> column)` Push a `Column` onto the list at index zero, setting ascending to true.
    `void` | `push(ColumnSortList.ColumnSortInfo sortInfo)` Push a `ColumnSortList.ColumnSortInfo` onto the list at index zero.
    `boolean` | `remove(ColumnSortList.ColumnSortInfo sortInfo)` Remove a `ColumnSortList.ColumnSortInfo` from the list.
    `void` | `setLimit(int limit)` Set the limit to a positive value to prevent the growth of the infos list over the given size.
    `int` | `size()` Get the size of the list.

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

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

- - ### Constructor Detail

    - #### ColumnSortList

          public ColumnSortList()

      Construct a new `ColumnSortList` without a `ColumnSortList.Delegate`.

    - #### ColumnSortList

          public ColumnSortList(ColumnSortList.Delegate delegate)

      Construct a new `ColumnSortList` with the specified `ColumnSortList.Delegate`.
      Parameters:
        `delegate` - the `ColumnSortList.Delegate` to inform of modifications

  - ### Method Detail

    - #### clear

          public void clear()

      Removes all of the elements from this list.

    - #### equals

          public boolean equals(java.lang.Object obj)

      Check if the specified object equals this list. Two `ColumnSortList` are equals if they are the same size, and all entries are `equals` and in the same order.
      Overrides:
        `equals` in class `java.lang.Object`

    - #### get

          public ColumnSortList.ColumnSortInfo get(int index)

      Get the `ColumnSortList.ColumnSortInfo` at the specified index.
      Parameters:
        `index` - the index
      Returns:
        the `ColumnSortList.ColumnSortInfo`

    - #### getLimit

          public int getLimit()

      Get the actual limit value
      Returns:
        the actual limit value

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### insert

          public void insert(int index,
                    ColumnSortList.ColumnSortInfo sortInfo)

      Inserts the specified `ColumnSortList.ColumnSortInfo` at the specified position in this list. If the column already exists in the sort info, the index will be adjusted to account for any removed entries.
      Parameters:
        `sortInfo` - the `ColumnSortList.ColumnSortInfo` to add

    - #### push

          public ColumnSortList.ColumnSortInfo push(Column<?,?> column)

      Push a `Column` onto the list at index zero, setting ascending to true. If the column already exists, it will be removed from its current position and placed at the start of the list. If the Column is already at the start of the list, its ascending bit will be flipped (ascending to descending and vice versa).
      Parameters:
        `column` - the `Column` to push
      Returns:
        the `ColumnSortList.ColumnSortInfo` that was pushed

    - #### push

          public void push(ColumnSortList.ColumnSortInfo sortInfo)

      Push a `ColumnSortList.ColumnSortInfo` onto the list at index zero. If the column already exists, it will be removed from its current position and placed at the start of the list.
      Parameters:
        `sortInfo` - the `ColumnSortList.ColumnSortInfo` to push

    - #### remove

          public boolean remove(ColumnSortList.ColumnSortInfo sortInfo)

      Remove a `ColumnSortList.ColumnSortInfo` from the list.
      Parameters:
        `sortInfo` - the `ColumnSortList.ColumnSortInfo` to remove

    - #### setLimit

          public void setLimit(int limit)

      Set the limit to a positive value to prevent the growth of the infos list over the given size. This method will check if the actual infos list is over the limit, and it will fire the delegate in the case it should remove items from the list. The default value (0) means the size can grow indefinitely.
      Parameters:
        `limit` - the new limit value

    - #### size

          public int size()

      Get the size of the list.
      Returns:
        the number of `ColumnSortList.ColumnSortInfo` in the list