Class FormBinder<T>

java.lang.Object
org.vaadin.firitin.form.FormBinder<T>
Type Parameters:
T - The class/record type bound by this binder.
All Implemented Interfaces:
com.vaadin.flow.component.HasValue<FormBinderValueChangeEvent<T>,T>, Serializable

public class FormBinder<T> extends Object implements com.vaadin.flow.component.HasValue<FormBinderValueChangeEvent<T>,T>
A new start for the Binder. Note, that this is still a fairly new class, so there might be API changes to it.

Design principles:

  • Only support "non-buffered mode" so that validation logic can use the bean/record + simplicity of the implementation
  • Validation is "just validation", and not concern of this class. BUT, API must support binding external validation logic, like Bean Validation API
  • Must support Records and immutable objects as well
  • No requirements for BeanValidation or Spring DataBinding stuff, but optional support (or extensible for those)
Non-goals:
  • Aiming for binding anything without property names (for good solution this needs to be resolved at language level and supported with thing like Bean Validation first)
See Also: