com.google.gwt.view.client

## Class OrderedMultiSelectionModel<T>

- java.lang.Object
- - com.google.gwt.view.client.SelectionModel.AbstractSelectionModel<T>
  - - com.google.gwt.view.client.MultiSelectionModel<T>
    - - com.google.gwt.view.client.OrderedMultiSelectionModel<T>

- Type Parameters:
    `T` - the record data type
  All Implemented Interfaces:
    HasHandlers, ProvidesKey<T>, SelectionChangeEvent.HasSelectionChangedHandlers, SelectionModel<T>, SetSelectionModel<T>

      public class OrderedMultiSelectionModel<T>
      extends MultiSelectionModel<T>

  A simple selection model that allows multiple items to be selected and retains order of selection. Selecting the same item multiple times does not change the order (item won't be moved to the end of selection). OrderedMultiSelectionModel uses LinkedHashMaps, which may increase the size of your compiled output if you do not use LinkedHashMaps elsewhere in your application.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.google.gwt.view.client.MultiSelectionModel

      `MultiSelectionModel.SelectionChange<T>`

    - ### Nested classes/interfaces inherited from interface com.google.gwt.view.client.SelectionModel

      `SelectionModel.AbstractSelectionModel<T>`

  - ### Field Summary

    - ### Fields inherited from class com.google.gwt.view.client.MultiSelectionModel

      `selectedSet`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `OrderedMultiSelectionModel()` Constructs a OrderedMultiSelectionModel without a key provider.
    `OrderedMultiSelectionModel(ProvidesKey<T> keyProvider)` Constructs a OrderedMultiSelectionModel with the given key provider.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.List<T>` | `getSelectedList()` Get the List of selected items as a copy.

    - ### Methods inherited from class com.google.gwt.view.client.MultiSelectionModel

      `clear, fireSelectionChangeEvent, getSelectedSet, isSelected, resolveChanges, setSelected`

    - ### Methods inherited from class com.google.gwt.view.client.SelectionModel.AbstractSelectionModel

      `addSelectionChangeHandler, fireEvent, getKey, getKeyProvider, isEventCancelled, isEventScheduled, scheduleSelectionChangeEvent, setEventCancelled, setEventScheduled`

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

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

    - ### Methods inherited from interface com.google.gwt.view.client.SelectionModel

      `addSelectionChangeHandler`

    - ### Methods inherited from interface com.google.gwt.event.shared.HasHandlers

      `fireEvent`

    - ### Methods inherited from interface com.google.gwt.view.client.ProvidesKey

      `getKey`

- - ### Constructor Detail

    - #### OrderedMultiSelectionModel

          public OrderedMultiSelectionModel()

      Constructs a OrderedMultiSelectionModel without a key provider.

    - #### OrderedMultiSelectionModel

          public OrderedMultiSelectionModel(ProvidesKey<T> keyProvider)

      Constructs a OrderedMultiSelectionModel with the given key provider.
      Parameters:
        `keyProvider` - an instance of ProvidesKey, or null if the item should act as its own key

  - ### Method Detail

    - #### getSelectedList

          public java.util.List<T> getSelectedList()

      Get the List of selected items as a copy.
      Returns:
        the list of selected items in the order of additions. Selecting an element already in the selection does not move it to the end of the list.