ModelMapper с объектами за интерфейсом - PullRequest
0 голосов
/ 26 ноября 2018

Например, у меня есть типы Entity и DTO за одним и тем же интерфейсом:

public class CompanyDto implements Company {
    private String test;
    List<Project> projects;
}

public class CompanyEntity implements Company {
    private String test;
    private List<Project> projects;
}

public interface Company {
    String getTest();
    List<Project> getProjects();
}

public interface Project {
    String getFoo();
}

Когда я просто использую способ конвертации по умолчанию, он не конвертирует Список проектов.Поскольку они находятся за интерфейсом, он работает, когда я не помещаю их за интерфейс.

Поэтому я подумал, что мне нужно создать собственный конвертер, подобный этому:

    Converter<List<CompanyEntity>, List<CompanyDto>> converter = new Converter<List<CompanyEntity>, List<CompanyDto>>() {
        public List<CompanyDto> convert(MappingContext<List<CompanyEntity>, List<CompanyDto>> context) {
// CONVERT
        }
    };

Но яя застрял здесь, потому что назначение всегда пусто в контексте.Нет ли другого способа просто указать CompanyEntity для CompanyDto один раз, чтобы, даже когда они есть в списке, он просто работал?

...