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

All Methods Instance Methods Concrete Methods
`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