2014-07-07 3 views
3

다음을 Dozer의 API 호출 형식으로 변환하는 방법을 알고 계십니까? Dozer 매핑 사이트에 관한 문서는 자바 매핑에 관해서는 꽤 슬림합니다.Dozer API 날짜 매핑 설정 (XML 제외)

<mappings> 
    <configuration> 
    <date-format>MM/dd/yyyy HH:mm</date-format> 
    </configuration> 

    <mapping wildcard="true"> 
    <class-a>org.dozer.vo.TestObject</class-a> 
    <class-b>org.dozer.vo.TestObjectPrime</class-b> 
    <field> 
     <a>dateString</a> 
     <b>dateObject</b> 
    </field> 
    </mapping> 
    <mapping> 
    <class-a>org.dozer.vo.SomeObject</class-a> 
    <class-b>org.dozer.vo.SomeOtherObject</class-b> 
    <field> 
     <a>srcField</a> 
     <b>destField</b> 
    </field> 
    </mapping> 
</mappings> 

답변

3

도저 버전 5.5.1부터 API syntax cannot perform all mappings. 매핑에서 < 구성 > 요소는 XML로만 수행 할 수 있습니다. 나는, 당신은 자세한 내용에 관심이 있다면

BeanMappingBuilder mappingBuilder = new BeanMappingBuilder() { 
    @Override 
    protected void configure() { 

     String dateFormat = "MM/dd/yyyy HH:mm"; 

     mapping(TestObject.class, TestObjectPrime.class, 
       TypeMappingOptions.wildcard(true), 
       TypeMappingOptions.dateFormat(dateFormat)) 
       .fields("dateString", "dateObject"); 

     mapping(SomeObject.class, SomeOtherObject.class, 
       TypeMappingOptions.dateFormat(dateFormat)) 
       .fields("srcField", "destField"); 
    } 
}; 

DozerBeanMapper apiBeanMapper = new DozerBeanMapper(); 
apiBeanMapper.addMapping(mappingBuilder); 

: 일부 중복을 추가하여 < 구성 > 제한을 우회 버전을 수용 할 수있는 경우

, 다음 아래의 API 매핑은 XML 매핑과 일치해야합니다 PasteBin에 간단한 ApiAndXmlMappingTest example을 추가했습니다.