2013-08-06 172 views
0

我有一個域對象(DO)和鍵值(KV)對象。我如何將DO的每個字段映射到KV的實例?映射器:鍵值對象

實施例:

class DomainObject { 
    String field1 = "value1"; 
    String field2 = "value2"; 
} 

class KeyValue { 
    String key; 
    String value; 
} 

輸入是domainObject的,輸出 - KEYVALUE的兩個實例(鍵= 「FIELD1」,值= 「VALUE1」;鍵= 「FIELD2」,值= 「VALUE2」)。
P.S.我已經使用Dozer來進行場到場的映射,但是我將如何做場到KV?

回答

0

也許你可以在DomainObject中創建KeyValue的引用,因此每個KeyValue都將被映射到DomainObject的字段List中的一個項目。 東西simmilar這樣:

List<KeyValue> list = new ArrayList<KeyValue>(); 
list.add(new KeyValue("field1", "value1")); 
list.add(new KeyValue("field2", "value2"));  

DomainObject domainObject = new DomainObject(list);  

class DomainObject { 
    List<KeyValue> fields; 

    public DomainObject(List<KeyValue> keyValueList){ 
     this.fields=keyValueList; 
    } 

    public List<KeyValue> getFields() { 
     return fields; 
    } 
} 

class KeyValue { 
    String key; 
    String value; 

    public KeyValue(String key, String value) { 
     this.key=key; 
     this.value=value; 
    } 
} 

或者,也許你可以使用HashMap這類任務的http://tutorialswithexamples.com/java-map-and-hashmap-tutorial-with-examples/