kotlinx.serialization полиморфного списка
Можно ли сериализовать список этих полиморфных абстрактных классов? Я хотел бы использовать что-то вроде этого:
Json.stringify(PowerStrategy.serializer.list, entities)
Абстрактный класс
@Polymorphic
abstract class PowerStrategy{
companion object{
val serializer by lazy {
SerializersModule {
polymorphic(PowerStrategy::class) {
BlockOptimizer::class with BlockOptimizer.serializer()
}
}
}
}
abstract val from: LocalTime
abstract val to: LocalTime
abstract fun applyToPowerPlan(plan: DayPowerPlan)
}
Одна из многих реализаций PowerStrategy
@SerialName("block_optimizer")
@Serializable
data class BlockOptimizer(
@ContextualSerialization
override val from: LocalTime,
@ContextualSerialization
override val to: LocalTime,
val blockLength: Int,
val numberOfBlocks: Int,
var weights:Array<Double> = Array(4*24){1.0}
) : PowerStrategy() {...}
Если мне понадобится настраиваемый сериализатор списков, укажите шаблон.