我有下面的映射器,它工作得很好,但我想知道是否有任何方法可以定义一次并重复使用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)
}
}
UPDATE个
@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)
}
}