При использовании Kotlin я хотел добавить определяемую пакетом константу в качестве префикса для свойства сериализованного класса. Джексон брат, поэтому я написал это:
var prop: String = ""
@JsonGetter(value = "prop")
get() = PREFIX + field
Это работало нормально, поэтому я решил заменить его делегированным свойством для краткости:
@get:JsonGetter(value = "prop") var prop: String by PrefixedProperty()
...
class PrefixedProperty(var field: String = "") {
operator fun getValue(blah blah) = PREFIX + field
...
}
И БУМ - моя собственность исчезла.
Кажется, аннотация не была применена к делегированному получателю prop
. Можно ли даже заархивировать желаемое поведение?