Как найти сопоставления атрибута в Dozer во время выполнения? - PullRequest
0 голосов
/ 15 июня 2010

Я использую Dozer для сопоставления между компонентами Java.У меня есть файл сопоставления бульдозера со всеми сопоставлениями, присутствующими в нем.Пример отображения показан ниже:

<mapping>
    <class-a>com.xyz.A</class-a>
    <class-b>com.xyz.B</class-b>
    <field>
        <a>key</a>
        <b>id</b>
    </field>
    <field>
        <a>actionId</a>
        <b>action</b>
    </field>
</mapping>

Теперь я хочу найти сопоставления во время выполнения.Например, дать поле в виде строки com.xyz.A.key, я хочу найти, что оно отображается на com.xyz.B.id программно.Я посмотрел на Dozer API (org.dozer.Mapper интерфейс), и он предоставляет методы только для отображения bean-компонентов.

Итак, мой вопрос: есть ли API для программного поиска отображений?

1 Ответ

1 голос
/ 23 июня 2011

Я не уверен, что у Dozer есть общедоступный API для проверки сопоставлений.

Вы можете попробовать ModelMapper , который представляет собой библиотеку сопоставлений объектов, которая предоставляет все те же функции, что и Dozer.вместе с интерфейсом поставщика услуг (SPI) для проверки сопоставлений.Использование для вашего примера простое:

ModelMapper modelMapper = new ModelMapper();
List<Mappings> mappings = modelMapper.createTypeMap(A.class, B.class).getMappings();

Посетите сайт ModelMapper для получения дополнительной информации:

http://modelmapper.org

...