Dozer: удаление полей из базового класса - PullRequest
2 голосов
/ 09 марта 2011

У меня много классов, которые расширяют один базовый класс.При выполнении отображения бульдозера я хочу иметь одно отображение для базового класса и ссылаться на это отображение при отображении любого из подклассов.

Например:

<mapping map-id="BaseClassToMap" map-null="false">
    <class-a>com.example.BaseClass</class-a>
    <class-b>com.example.CustomMap</class-b>
    <field-exclude>
        <a>valueA</a>
        <b>this</b>
    </field-exclude>
</mapping

<mapping map-id="SubClassToMap" map-null="false" extends="BaseClassToMap">
    <class-a>com.example.SubClass</class-a>
    <class-b>com.example.CustomMap</class-b>
    <field-exclude>
        <a>valueB</a>
        <b>this</b>
    </field-exclude>
</mapping>

, поэтому, когда ясделайте что-то вроде

CustomMap customMap = mapper.map(baseClassObj, CustomMap.class, "SubClassToMap");

, в результирующей пользовательской карте исключено значение A.

...