2

所以我正在编写一个远程信息处理应用程序,我们正在慢慢为 DTO 构建映射器。很快就会有超过 100 个,但现在我们有 3 个。我们想将所有消息发送到我们的映射器,但是当我们这样做并且Orika不知道它时,它会引发异常。

我需要一种.isMapperAvailable(class, class)方法,但找不到。我确实找到了一个.existsRegisteredMapper(Type, Type),但无法弄清楚它是如何工作的。有什么帮助吗?

4

2 回答 2

2

我认为你可以这样使用它:

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);
于 2015-11-30T15:57:54.903 回答
0

方法有一个缺陷existsRegisteredMapper()。假设您想要对AtoBBto进行不同类型的映射A。在这种情况下,此方法对两个方法调用都返回 true:

mapperFactory.existsRegisteredMapper(A, B, true);

mapperFactory.existsRegisteredMapper(B, A, true);
于 2017-08-14T09:49:39.563 回答