Extract AbstractBeanPropertyDefinition and PropertyFilterDefinition (#10344)
This commit extracts the private nested class AbstractBeanPropertyDefinition from BeanPropertySet to a public class of package com.vaadin.data.
Additionally, the nested protected class PropertyFilterDefinition is extracted from NestedBeanPropertyDefinition to a public class in package com.vaadin.data.
* Added the possiblity of defining a Field as Required without
setting an error message.
* Added @since to asRequired()
* Add droped paragraphs and see tag for asRequired(String)
Fix BindingBuilder to always use the same instance (#10004)
This allows using BindingBuilder either in a type safe chained manner or with separate calls for the same instance at the cost of less strict type checking.
Fixes #9927
Fixes #9619
Improve Binder value change handling with bean validation (#9988)
Changed values are now only applied to the bean when they pass both field and bean validation. Any change that breaks validation will be pending and is attempted to apply when another change event comes.
This patch also makes the order of status change event handler and listener call order.
This addresses some of the issues raised in #9955.
Binding a null bean should clear the bound field values (#8288)
* Add clear field values #8287
Added functionality to make it possible to clear bound field values manually
or when setting a null bean to binder.
Binder will now clear bound fields for setBean(null) or if using readBean() functionality
when calling the clear() method. Binder.clear() will throw a IllegalStateException if
we have a bound bean.
* MultiSelectionModel MultiSelect should implement emptyValue
* Removing public clear() method and clearing field values only through
setBean(null) and readBean(null) to be consistent and not have
confusing functionality.
* Simplified clearFields() as we don't need to check if field is readOnly
* Document in removeBean JavaDoc that it will also clear the bound fields
if we have a bean the is removed.
* Binder should not have changes after clearing fields.
* Add getEmptyValue as default to MultiSelect.
Multiselect default for empty value should be an empty set.
* Revert "Add getEmptyValue as default to MultiSelect."
This reverts commit 45de8f45c4.
* Merge branch 'master' into issue/8287_Clear_bound_fields
* Remove override for default implementation.
* Fire status change event on clearFields if we had changes before clearing.
* Formatting.