2013-11-26 58 views
0

我們有多個RESTful服務需要JAXB與域對象之間的對象映射,反之亦然。將JAXB綁定到域對象的設計模式,反之亦然

我的想法來定義類似如下的通用接口。 //映射器接口

public interface Mapper{ 
     Object toDomainObject(Object jaxb); 
     Object toClientObject(Object domain); 
    } 

// RecorderMapper類 - 實現映射器接口

public class RecorderMapper implements Mapper{ 
      @Override 
     public Object toDomainObject(Object obj) { 
      JAXBRecorderRequest jAXBRecorderRequest = (JAXBRecorderRequest)obj; 
      RecorderDomain recorderDomain = new RecorderDomain(); 
      //map to jaxb to domain 
      return recorderDomain; 
     } 

     @Override 
public Object toClientObject(Object obj) { 
    RecorderDomain recorderDomain = (RecorderDomain)obj; 
    JAXBRecorderResponse jaxbRecorderResponse = new JAXBRecorderResponse(); 
    //map domain to jaxb 
    return jaxbRecorderResponse; 
} 
} 

//錄像機的服務類 - 用來對象映射的映射器

public class Recorder Service { 
    @Autowired 
    private Mapper mapper; 
    public JAXBRecorderResponse create(JAXBRecorderRequest jaxbRecorderRequest){ 
     RecorderDomain recorderDomain =(RecorderDomain) mapper.toDomainObject(jaxbRequest); 
     return (JAXBRecorderResponse)mapper.toClientObject(recorderDomain); 

    } 
} 

的主要思想是定義一個通用模式來在團隊中實現對象映射。

我不知道是否有更好的方法。

任何幫助,非常感謝。

回答

0

可以使用Dozer映射。

+0

我會試試看。謝謝@亞歷克斯 – Arun

相關問題