com.google.gwt.view.client

## Class SingleSelectionModel<T>

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

Type Parameters:
  `T` - the record data type

All Implemented Interfaces:
  HasHandlers, ProvidesKey<T>, SelectionChangeEvent.HasSelectionChangedHandlers, SelectionModel<T>, SetSelectionModel<T>

    public class SingleSelectionModel<T>
    extends SelectionModel.AbstractSelectionModel<T>
    implements SetSelectionModel<T>

A simple selection model that allows only one item to be selected a a time.

### Nested Class Summary

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

`SelectionModel.AbstractSelectionModel<T>`

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `clear()` Clears the current selection.
`protected void` `fireSelectionChangeEvent()` Fire a `SelectionChangeEvent`.
`T` `getSelectedObject()` Gets the currently-selected item.
`java.util.Set<T>` `getSelectedSet()` Get the set of selected items.
`boolean` `isSelected(T item)` Check if an object is selected.
`void` `setSelected(T item, boolean selected)` Set the selected state of an object and fire a `SelectionChangeEvent` if the selection has changed.

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

#### SingleSelectionModel

    public SingleSelectionModel()

Constructs a SingleSelectionModel without a key provider.

#### SingleSelectionModel

    public SingleSelectionModel(ProvidesKey<T> keyProvider)

Constructs a SingleSelectionModel with the given key provider.

Parameters:
  `keyProvider` - an instance of ProvidesKey<T>, or null if the item should act as its own key

### Method Detail

#### clear

    public void clear()

Description copied from interface: `SetSelectionModel`
Clears the current selection.

Specified by:
  `clear` in interface `SetSelectionModel<T>`

#### getSelectedObject

    public T getSelectedObject()

Gets the currently-selected item.

Returns:
  the selected item

#### getSelectedSet

    public java.util.Set<T> getSelectedSet()

Description copied from interface: `SetSelectionModel`
Get the set of selected items.

Specified by:
  `getSelectedSet` in interface `SetSelectionModel<T>`
Returns:
  the set of selected items

#### isSelected

    public boolean isSelected(T item)

Description copied from interface: `SelectionModel`
Check if an object is selected.

Specified by:
  `isSelected` in interface `SelectionModel<T>`
Parameters:
  `item` - the object
Returns:
  true if selected, false if not

#### setSelected

    public void setSelected(T item,
                            boolean selected)

Description copied from interface: `SelectionModel`
Set the selected state of an object and fire a `SelectionChangeEvent` if the selection has changed. Subclasses should not fire an event in the case where selected is true and the object was already selected, or selected is false and the object was not previously selected.

Specified by:
  `setSelected` in interface `SelectionModel<T>`
Parameters:
  `item` - the object to select or deselect
  `selected` - true to select, false to deselect

#### fireSelectionChangeEvent

    protected void fireSelectionChangeEvent()

Description copied from class: `SelectionModel.AbstractSelectionModel`
Fire a `SelectionChangeEvent`. Multiple firings may be coalesced.

Overrides:
  `fireSelectionChangeEvent` in class `SelectionModel.AbstractSelectionModel<T>`