# Class NullSelection<E>

java.lang.Object
com.macrofocus.common.selection.AbstractSelection<E>
com.macrofocus.common.selection.AbstractMutableSelection<E>
com.macrofocus.common.selection.NullSelection<E>

Type Parameters:
  `E` - the type of elements that can be selected

All Implemented Interfaces:
  `MutableSelection<E>, Selection<E>, Iterable<E>`

public final class NullSelection<E> extends AbstractMutableSelection<E> implements MutableSelection<E>
Data model for multiple selection supporting null value to be selected.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `NullSelection()`
  `NullSelection(E... selected)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `clearSelection()`
  Change the selection to the empty set.
  `int`
  `getSelectedCount()`
  Returns the number of elements currently selected.
  `Set<E>`
  `getSelectedSet()`
  Returns the selected elements as a Set.
  `boolean`
  `isActive()`
  Indicates whether at least one element is currently selected.
  `boolean`
  `isSelected(E element)`
  Indicates whether a given element is selected or not.
  `Iterator<E>`
  `iterator()`
  `void`
  `setSelected(E e)`
  `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)`
  `String`
  `toString()`

  ### Methods inherited from class AbstractMutableSelection

  `setEnabled`

  ### Methods inherited from class AbstractSelection

  `addSelectionListener, addWeakSelectionListener, isEnabled, notifySelectedChanged, removeSelectionListener, removeSelectionListeners`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Iterable

  `forEach, spliterator`

  ### Methods inherited from interface MutableSelection

  `setEnabled`

  ### Methods inherited from interface Selection

  `addSelectionListener, addWeakSelectionListener, isEnabled, removeSelectionListener, removeSelectionListeners`

- ## Constructor Details

  - ### NullSelection

    public NullSelection()

  - ### NullSelection

    public NullSelection(E... selected)

- ## Method Details

  - ### clearSelection

    public boolean clearSelection()
    Description copied from interface: `MutableSelection`
    Change the selection to the empty set. If this represents a change to the current selection then notify each listener.
    Specified by:
      `clearSelection` in interface `MutableSelection<E>`
    Returns:
      true, if the set of selected elements was changed.

  - ### isActive

    public boolean isActive()
    Description copied from interface: `Selection`
    Indicates whether at least one element is currently selected.
    Specified by:
      `isActive` in interface `Selection<E>`
    Returns:
      true if at least one element is selected, false otherwise.

  - ### isSelected

    public boolean isSelected(E element)
    Description copied from interface: `Selection`
    Indicates whether a given element is selected or not.
    Specified by:
      `isSelected` in interface `Selection<E>`
    Parameters:
      `element` - the element to be tested
    Returns:
      true if the element is selected, false otherwise

  - ### setSelected

    public void setSelected(E e)
    Specified by:
      `setSelected` in interface `MutableSelection<E>`

  - ### setSelectedState

    public void setSelectedState(E element, boolean selected)
    Specified by:
      `setSelectedState` in interface `MutableSelection<E>`

  - ### setSelectedIterableState

    public boolean setSelectedIterableState(Iterable<E> elements, boolean selected)
    Description copied from interface: `MutableSelection`
    Set the selection state.
    Specified by:
      `setSelectedIterableState` in interface `MutableSelection<E>`
    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

    public boolean setSelectedElementsState(boolean selected, E... elements)
    Description copied from interface: `MutableSelection`
    Set the selection state.
    Specified by:
      `setSelectedElementsState` in interface `MutableSelection<E>`
    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

    public void setSelectedElements(E... elements)
    Specified by:
      `setSelectedElements` in interface `MutableSelection<E>`

  - ### setSelectedIterable

    public void setSelectedIterable(Iterable<E> elements)
    Specified by:
      `setSelectedIterable` in interface `MutableSelection<E>`

  - ### getSelectedCount

    public int getSelectedCount()
    Description copied from interface: `Selection`
    Returns the number of elements currently selected.
    Specified by:
      `getSelectedCount` in interface `Selection<E>`
    Returns:
      the number of selected elements.

  - ### getSelectedSet

    public Set<E> getSelectedSet()
    Description copied from interface: `Selection`
    Returns the selected elements as a Set.
    Specified by:
      `getSelectedSet` in interface `Selection<E>`
    Returns:
      the Set of selected elements.

  - ### iterator

    public Iterator<E> iterator()
    Specified by:
      `iterator` in interface `Iterable<E>`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`