是否可以使用Orika将List转换为Map?

时间:2013-08-19 11:18:47

标签: orika

我正在寻找将自定义对象列表转换为自定义对象的Map。我有一个使用自定义方法定义的映射,但我不断得到“不能转换为ma.glasnost.orika.MapEntry”异常。在Orika中将List转换为Map的正确方法是什么?

mapperFactory.classMap(new TypeBuilder<List<com.printable.pti.NameValuePairType>>(){}.build(), new TypeBuilder<Map<String, com.kinetic.entity.TemplateField>>() {}.build())
.customize(new CustomMapper<List<com.printable.pti.NameValuePairType>,Map<String, com.kinetic.entity.TemplateField>>() {

@Override
public void mapAtoB(List<com.printable.pti.NameValuePairType> nameValuePairTypes,            
    Map<String, com.kinetic.entity.TemplateField> stringTemplateFieldMap, MappingContext context) {

        Map<String, com.kinetic.entity.TemplateField> toObject = new HashMap<String, com.kinetic.entity.TemplateField>();

            for(com.printable.pti.NameValuePairType nameValuePairType : nameValuePairTypes) {
                toObject.put(nameValuePairType.getName(),(com.kinetic.entity.TemplateField)map(nameValuePairType,com.kinetic.entity.TemplateField.class));
            }
        }
    }
)
.register();

1 个答案:

答案 0 :(得分:1)

以下是使用Orika

将元素列表映射到Map的good example