1
我想将一种类型的地址对象映射到使用Orika的更简单的类型,但遇到了一个问题,我得到一个IndexOutOfBounds异常,如果我的列表中没有像我在映射器中指定的那么多的元素。是否可以在Orika中指定List索引作为可选项?
这里是我的例子对象:
public class SourceAddress {
List<String> addressLines;
}
public class DestinationAddress {
String address1;
String address2;
String address3;
}
这里是我的映射:
mapperFactory.getMapperFacade().map(SourceAddress.class, DestinationAddress.class)
.field("addressLine[0]", "address1")
.field("addressLine[1]", "address2")
.field("addressLine[2]", "address3")
.mapNulls(false)
.byDefault()
.register();
但在我的例子中的源地址列表中只有两个字符串。我期望有一种方法可以选择映射address3字段,但我似乎无法在Orika单元测试中找到示例。
我得到的,当我尝试映射并得到一个异常的输出是:
Error occurred: java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
有谁知道这是否可能以简单的方式来实现还是我写这种类型的一个CustomMapper ?
我想明白为什么这会工作。 Orika在尝试访问不存在的指定索引数组时是否还会返回异常? –
这是告诉Orika no-op任何字符串 - >字符串映射,不是吗? – Daedalus