Java Orika映射:将两个元素合并为一个元素

Java Orika映射:将两个元素合并为一个元素,java,map,orika,Java,Map,Orika,我需要做一些看起来像简单映射的事情,但我仍然无法管理如何做。 我需要做的是将第一个类上的firstName+lastName映射到第二个类上的name 大概是这样的: class Person { String firstName; String lastName; } class PrintablePerson { String name; // name should be firstName+" "+(lastName) } 实现这一目标的最佳方式是什么 更新:

我需要做一些看起来像简单映射的事情,但我仍然无法管理如何做。 我需要做的是将第一个类上的firstName+lastName映射到第二个类上的name

大概是这样的:

class Person {
    String firstName;
    String lastName;
}

class PrintablePerson {
    String name; // name should be firstName+" "+(lastName)
}
实现这一目标的最佳方式是什么

更新:

我已经通过实现我自己的映射器解决了这个问题:

public class MyCustomMapper extends CustomMapper<Person, PrintablePerson> {
    @Override   
    public void mapAtoB(Person person, PrintablePerson printablePerson, MappingContext context) {
         printablePerson.setName(person.getFirstName() + " " + person.getLastName());
   }
}

mapperFactory.classMap(Person.class,PrintablePerson.class)
.默认情况下()
.定制(
新的CustomMapper(){
public void mapAtoB(人员a、可打印人员b、映射上下文){
//在此处添加自定义映射代码
b、 setName(a.getFirstName()+“”+a.getLastName());
}
})
.register();

这不起作用,customize已弃用,您正在实例化一个抽象类(CustomMapper)。事实上,有两个customize方法,一个已弃用,另一个已替换。当然,CustomMapper是一个抽象类,但是您可以通过提供内部实现来实例化它,这是一个常见的Java实践。这些方法的内联实现意味着Java实例化了一个匿名类,该类扩展了抽象类(或实现了接口)。这个匿名类是一个具体的类。仍然不起作用,我不知道为什么使用不推荐的方法,IDE抱怨抽象类实例化。有什么想法吗?
mapperFactory.classMap(Person.class, PrintablePerson.class)
.byDefault()
.customize(
     new MyCustomMapper()
 ).register();
mapperFactory.classMap(Person.class, PrintablePerson.class)
.byDefault()
.customize(
   new CustomMapper<Person, PrintablePerson>() {
      public void mapAtoB(Person a, PrintablePerson b, MappingContext context) {
         // add your custom mapping code here
         b.setName(a.getFirstName() + " " + a.getLastName());
      }
   })
.register();