映射器:对象到键值

时间:2013-08-06 11:07:09

标签: java mapping datamapper dozer

我有一个域对象(DO)和键值(KV)对象。如何将DO的每个字段映射到KV的实例?

示例:

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

class KeyValue {
    String key;
    String value;
}

输入是DomainObject,输出 - KeyValue的两个实例(key =“field1”,value =“value1”; key =“field2”,value =“value2”)。
附:我已经使用Dozer来映射字段到字段,但是我如何进行字段到KV?

1 个答案:

答案 0 :(得分:0)

也许您可以在DomainObject中创建KeyValue的引用,因此每个KeyValue都将映射到DomainObject的字段List中的项目。 与此类似的东西:

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;
    }
}

或许您可以将哈希图用于此类任务http://tutorialswithexamples.com/java-map-and-hashmap-tutorial-with-examples/