Не могли бы вы помочь мне с генериками. У меня есть требование, когда у меня есть форма пользовательского интерфейса, но в зависимости от типа форма полностью меняется. Я создал родительский DTO с общими полями и дочерними DTO для каждого типа формы. Использование vaadin для проверки. Как мне заставить это работать. метод привязки на childd к ошибке.
Тип ChildlDTO не определяет getTitle (захват # 10-из-расширений ParentDTO), который применим здесь
Метод writeBean (захват № 10-из-расширений ParentDTO) в тип Binder не применим для аргументов (ParentDTO)
private ParentDTO dto= new ChildDTO();
private Binder<? extends ParentDTO> binder = new Binder<>(ParentDTO.class);
binder.forField(type).asRequired("Please select type")
.bind(ParentDTO::getType, ParentDTO::setType);
Ошибки компиляции ниже для методов привязки и записи
binder.forField(title).asRequired("Please select Title")
.bind(ChildDTO::getTitle, ChildDTO::setTitle);
binder.writeBean(control);
Родительский и дочерний классы
public abstract class ParentDTO
public class ChildDTO extends ParentDTO {
Vaadin Binder
public class Binder<BEAN> implements Serializable {
методы привязки и записи
Binding<BEAN, TARGET> bind(ValueProvider<BEAN, TARGET> getter,
Setter<BEAN, TARGET> setter);
public void writeBean(BEAN bean) throws ValidationException {
Также