com.vaadin.event.selection.SelectionEvent Maven / Gradle / Ivy
/*
* Copyright (C) 2000-2024 Vaadin Ltd
*
* This program is available under Vaadin Commercial License and Service Terms.
*
* See for the full
* license.
*/
package com.vaadin.event.selection;
import java.util.Optional;
import java.util.Set;
import com.vaadin.event.HasUserOriginated;
/**
* A selection event that unifies the way to access to selection event for multi
* selection and single selection components (in case when only one selected
* item is required).
*
* @since 8.0
* @author Vaadin Ltd
* @param
* the data type of the selection model
*/
public interface SelectionEvent extends HasUserOriginated {
/**
* Get first selected data item.
*
* This is the same as {@link SingleSelectionEvent#getSelectedItem()} in
* case of single selection and the first selected item from
* {@link MultiSelectionEvent#getNewSelection()} in case of multi selection.
*
* @return the first selected item.
*/
Optional getFirstSelectedItem();
/**
* Gets all the currently selected items.
*
* This method applies more to multiselection - for single select it returns
* either an empty set or a set containing the only selected item.
*
* @return return all the selected items, if any, never {@code null}
*/
Set getAllSelectedItems();
}