Package com.macrofocus.common.selection

# Interface MutableSelection<E>

All Superinterfaces:
  `Iterable<E>`, `Selection<E>`

All Known Subinterfaces:
  `MutableSingleSelection<E>`

All Known Implementing Classes:
  `AbstractMutableSelection`, `AbstractMutableSingleSelection`, `BeanSingleSelection`, `NullSelection`, `NullSingleSelection`, `PropertySingleSelection`, `SimpleSelection`, `SimpleSingleSelection`

@JsType public interface MutableSelection<E> extends Selection<E>
Defines the requirements for a selection that can change.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `clearSelection()`
  Change the selection to the empty set.
  `void`
  `setEnabled(boolean enabled)`
  `void`
  `setSelected(E element)`
  `void`
  `setSelectedElements(E... elements)`
  `boolean`
  `setSelectedElementsState(boolean selected, E... elements)`
  Set the selection state.
  `void`
  `setSelectedIterable(Iterable<E> elements)`
  `boolean`
  `setSelectedIterableState(Iterable<E> elements, boolean selected)`
  Set the selection state.
  `void`
  `setSelectedState(E element, boolean selected)`

  ### Methods inherited from interface java.lang.Iterable

  `forEach, iterator, spliterator`

  ### Methods inherited from interface com.macrofocus.common.selection.Selection

  `addSelectionListener, addWeakSelectionListener, getSelectedCount, getSelectedSet, isActive, isEnabled, isSelected, removeSelectionListener, removeSelectionListeners`

- ## Method Details

  - ### clearSelection

    boolean clearSelection()
    Change the selection to the empty set. If this represents a change to the current selection then notify each listener.
    Returns:
      true, if the set of selected elements was changed.

  - ### setSelected

    void setSelected(E element)

  - ### setSelectedState

    void setSelectedState(E element, boolean selected)

  - ### setSelectedIterableState

    boolean setSelectedIterableState(Iterable<E> elements, boolean selected)
    Set the selection state.
    Parameters:
      `elements` - the elements to change
      `selected` - true to have the elements selected, false otherwise
    Returns:
      true, if the set of selected elements was changed.

  - ### setSelectedElementsState

    boolean setSelectedElementsState(boolean selected, E... elements)
    Set the selection state.
    Parameters:
      `selected` - true to have the elements selected, false otherwise
      `elements` - the elements to change
    Returns:
      true, if the set of selected elements was changed.

  - ### setSelectedElements

    void setSelectedElements(E... elements)

  - ### setSelectedIterable

    void setSelectedIterable(Iterable<E> elements)

  - ### setEnabled

    void setEnabled(boolean enabled)