Multiselect default for empty value should be an empty set.reviewable/pr8288/r4
@@ -209,11 +209,6 @@ public abstract class AbstractMultiSelect<T> extends AbstractListing<T> | |||
updateSelection(copy, new LinkedHashSet<>(getSelectedItems())); | |||
} | |||
@Override | |||
public Set<T> getEmptyValue() { | |||
return Collections.emptySet(); | |||
} | |||
/** | |||
* Adds a value change listener. The listener is called when the selection | |||
* set of this multi select is changed either by the user or |
@@ -136,4 +136,14 @@ public interface MultiSelect<T> extends HasValue<Set<T>>, Serializable { | |||
*/ | |||
public Registration addSelectionListener( | |||
MultiSelectionListener<T> listener); | |||
/** | |||
* MultiSelect empty value should always be an empty set by default and not | |||
* {@code null}. | |||
* | |||
* @return An empty set, not {@code null} | |||
*/ | |||
public default Set<T> getEmptyValue() { | |||
return Collections.emptySet(); | |||
} | |||
} |
@@ -335,11 +335,6 @@ public class MultiSelectionModelImpl<T> extends AbstractSelectionModel<T> | |||
return MultiSelectionModelImpl.this | |||
.addMultiSelectionListener(listener); | |||
} | |||
@Override | |||
public Set<T> getEmptyValue() { | |||
return new LinkedHashSet<T>(); | |||
} | |||
}; | |||
} | |||