Как использовать дженерики в конвертере моделей

Я пытаюсь использовать Converter указать отображение простого поля String в DTO на TypedString-Объект, который является частью другого сложного объекта. Проблема в том, что TypedString Интерфейс для нескольких реализаций Такой конвертер работает, если я использую конкретную реализацию, но не если я использую обобщенные типы для определения Типа во время выполнения (см. Ниже). В этом случае конвертер не выбран во время выполнения, когда я звонил modelmapper.map(),

Это не подходит для меня, потому что я должен написать конвертеры для каждой реализации.

Можно ли использовать дженерики для определения типа назначения во время выполнения?

PS: преобразователь тока создает экземпляр с помощью отражения, который работает!

Благодарю.

Этот код работает

import org.modelmapper.Converter;
import org.modelmapper.ModelMapper;
import org.modelmapper.spi.MappingContext;

public class MyModelMapper extends ModelMapper {

  public MyModelMapper() {

    super();

    Converter<?, ?> converter = new Converter<String, ParticularDestType>() {

        @Override
        public SupplierId convert(MappingContext<String, ParticularDestType> context) {

            return (ParticularDestType) TypedStringConverter.createNewInstanceFromValue(context
                    .getSource(), ParticularDestType.class);
        }
    };

    addConverter(converter);
  }
}

@AllArgsConstructor
public class ParticularDestType implements TypedString {

  private String value;

}    

Но это не работает, если я добавлю это в MyModelMapper(т.е.addConverter(new ModelMapperTypedStringConverter<ParticularDestType>()))!!!

import org.modelmapper.Converter;
import org.modelmapper.spi.MappingContext;

public class ModelMapperTypedStringConverter<T extends TypedString> implements Converter<String, T> {

  @Override
  public T convert(MappingContext<String, T> context) {

    return (T) TypedStringConverter.createNewInstanceFromValue(context.getSource(), context.getDestinationType());
  }
}    

0 ответов

Другие вопросы по тегам