我如何才能发现是否已在 Orika 中为两个 类 创建了映射器?
How can I discover if a mapper has been created for two classes in Orika?
所以我正在编写一个远程信息处理应用程序,我们正在慢慢地为 DTO 构建映射器。很快就会有 100 多个,但现在我们有 3 个。我们想将所有消息发送到我们的映射器,但是当我们这样做并且 Orika
不知道时,它会抛出异常。
我需要 .isMapperAvailable(class, class)
方法,但找不到。我确实找到了 .existsRegisteredMapper(Type, Type)
但无法弄清楚它是如何工作的。有帮助吗?
我想你可以这样使用它:
MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
ClassMapBuilder<Foo, Bar> map = mapperFactory.classMap(Foo.class, Bar.class);
Type<Foo> fooType = map.getAType();
Type<Bar> barType = map.getBType()
boolean exists = mapperFactory.existsRegisteredMapper(fooType, barType, false);
existsRegisteredMapper()
方法存在一处缺陷。
假设您想要 A
到 B
和 B
到 A
的不同类型映射。
在这种情况下,此方法 returns 对于两个方法调用都是正确的:
mapperFactory.existsRegisteredMapper(A, B, true);
mapperFactory.existsRegisteredMapper(B, A, true);
所以我正在编写一个远程信息处理应用程序,我们正在慢慢地为 DTO 构建映射器。很快就会有 100 多个,但现在我们有 3 个。我们想将所有消息发送到我们的映射器,但是当我们这样做并且 Orika
不知道时,它会抛出异常。
我需要 .isMapperAvailable(class, class)
方法,但找不到。我确实找到了 .existsRegisteredMapper(Type, Type)
但无法弄清楚它是如何工作的。有帮助吗?
我想你可以这样使用它:
MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
ClassMapBuilder<Foo, Bar> map = mapperFactory.classMap(Foo.class, Bar.class);
Type<Foo> fooType = map.getAType();
Type<Bar> barType = map.getBType()
boolean exists = mapperFactory.existsRegisteredMapper(fooType, barType, false);
existsRegisteredMapper()
方法存在一处缺陷。
假设您想要 A
到 B
和 B
到 A
的不同类型映射。
在这种情况下,此方法 returns 对于两个方法调用都是正确的:
mapperFactory.existsRegisteredMapper(A, B, true);
mapperFactory.existsRegisteredMapper(B, A, true);