MapStruct:Object.class 到 Custom.class 映射
MapStruct: Object.class to Custom.class mapping
我是 MapStruct 的新手,需要一些帮助。
我有一个源 class,带有一个属性
Object input;
其中,在运行时,returns 一个名为 TicketDetails 的自定义对象。
现在,在我的目标 class 中有一个名为
的属性
MyTicket myTicket;
其中,我需要使用 TicketDetails 对象的属性进行映射。
为了更好地理解,我在下面编写了正常的 java 代码示例。
SourceClassModel sourceClassModel = new SourceClassModel();
TargetClassModel targetClassModel = new TargetClassModel();
//mapping
TicketDetails ticketDetails = (TicketDetails) sourceClassModel.getInput();
targetClassModel.setMyTicket(ticketDetails.getMyTicket);
现在,我的问题是,如何使用 MapStruct 实现这种情况?
在使用的映射器上(参见 @Mapper#uses()
)或在映射器本身的非抽象方法中 - 如果它是抽象 class 而不是接口 - 定义映射Object
给 TicketDetails
你自己:
TicketDetails asTicketDetails(Object details) {
return (TicketDetails) details;
}
生成的将 SourceClassModel
转换为 TargetClassModel
的方法将调用手动编写的方法来转换 myTicket
属性.
我是 MapStruct 的新手,需要一些帮助。
我有一个源 class,带有一个属性
Object input;
其中,在运行时,returns 一个名为 TicketDetails 的自定义对象。
现在,在我的目标 class 中有一个名为
的属性MyTicket myTicket;
其中,我需要使用 TicketDetails 对象的属性进行映射。 为了更好地理解,我在下面编写了正常的 java 代码示例。
SourceClassModel sourceClassModel = new SourceClassModel();
TargetClassModel targetClassModel = new TargetClassModel();
//mapping
TicketDetails ticketDetails = (TicketDetails) sourceClassModel.getInput();
targetClassModel.setMyTicket(ticketDetails.getMyTicket);
现在,我的问题是,如何使用 MapStruct 实现这种情况?
在使用的映射器上(参见 @Mapper#uses()
)或在映射器本身的非抽象方法中 - 如果它是抽象 class 而不是接口 - 定义映射Object
给 TicketDetails
你自己:
TicketDetails asTicketDetails(Object details) {
return (TicketDetails) details;
}
生成的将 SourceClassModel
转换为 TargetClassModel
的方法将调用手动编写的方法来转换 myTicket
属性.