下面的映射程序运行良好,但我想知道是否有任何方法可以定义一次并重用上的重复映射
remoteToNewLocalApp
和
remoteToLocalAppUpdate
.
@Mapper
interface AppMapper {
@Mapping(target = "appId", source = "atemsPackage.appId", defaultExpression = "java(packageId)")
@Mapping(target = "appOnRemote", constant = "true")
fun remoteToNewLocalApp(atemsPackage: AtemsPackage, packageId: String): LocalApp
@Mapping(target = "appId", source = "atemsPackage.appId", defaultExpression = "java(packageId)")
@Mapping(target = "appOnRemote", constant = "true")
fun remoteToLocalAppUpdate(atemsPackage: AtemsPackage, packageId: String): LocalAppRemoteUpdate
companion object {
val INSTANCE: AppMapper =
Mappers.getMapper(AppMapper::class.java)
}
}
更新
@Mapper
interface AppMapper {
@Mapping(target = "appId", source = "atemsPackage.appId", defaultExpression = "java(packageId)")
@Mapping(target = "appOnRemote", constant = "true")
fun remoteToNewLocalApp(atemsPackage: AtemsPackage, packageId: String): LocalApp
@InheritConfiguration(name = "remoteToNewLocalApp")
fun remoteToLocalAppUpdate(atemsPackage: AtemsPackage, packageId: String): LocalAppRemoteUpdate
companion object {
val INSTANCE: AppMapper =
Mappers.getMapper(AppMapper::class.java)
}
}