Package org.zkoss.zul

## Interface ListModel<E>

- All Known Subinterfaces:
    `MatrixModel<RowT,​HeadT,​CellT,​HeaderT>`
  All Known Implementing Classes:
    `AbstractListModel`, `GroupsListModel`, `ListModelArray`, `ListModelArrayProxy`, `ListModelList`, `ListModelListProxy`, `ListModelMap`, `ListModelMapProxy`, `ListModelSet`, `ListModelSetProxy`, `SimpleListModel`

      public interface ListModel<E>

  This interface defines the methods that components like `Listbox` and `Grid` use to get the content of items.

  If the list model is used with sortable listbox or grid, the developer must also implement `Sortable`.

  To use with `Listbox` and other components that supports the selection, `Selectable` must be implemented too.

  For more information, please refer to ZK Developer's Reference: List Model

  Author:
    tomyeh
  See Also:
    `Grid`, `Listbox`, `ListitemRenderer`, `Sortable`, `Selectable`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addListDataListener​(ListDataListener l)` | Adds a listener to the list that's notified each time a change to the data model occurs.
    `E` | `getElementAt​(int index)` | Returns the value at the specified index.
    `default java.util.List<ListDataListener>` | `getListDataListeners()` | Returns all listeners.
    `int` | `getSize()` | Returns the length of the list.
    `void` | `removeListDataListener​(ListDataListener l)` | Removes a listener from the list that's notified each time a change to the data model occurs.

- - ### Method Detail

    - #### getElementAt

          E getElementAt​(int index)

      Returns the value at the specified index.

    - #### getSize

          int getSize()

      Returns the length of the list.

    - #### addListDataListener

          void addListDataListener​(ListDataListener l)

      Adds a listener to the list that's notified each time a change to the data model occurs.

    - #### removeListDataListener

          void removeListDataListener​(ListDataListener l)

      Removes a listener from the list that's notified each time a change to the data model occurs.

    - #### getListDataListeners

          default java.util.List<ListDataListener> getListDataListeners()

      Returns all listeners.