2013-08-06 266 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/