Я работаю над структурой автоматического картографирования, построенной поверх Dozer.Я не буду вдаваться в подробности, так как это не имеет отношения к вопросу, но в целом должно допускать легкое преобразование из класса А в класс В. Я хотел бы зарегистрировать проекции из сопутствующего объекта класса.Ниже приведен (упрощенный) пример того, как я хочу, чтобы это работало, и тест спецификации, который гарантирует, что проекция регистрируется правильно.
К сожалению, это не работает.Из того, что я могу собрать, это потому, что ничто не инициализирует объект-компаньон А.И действительно, если я вызываю какой-либо метод объекта A (например, вызов закомментированного hashCode, проекция регистрируется правильно.
Мой вопрос - как я могу заставить объект A автоматически инициализироватьсякак только JVM запустится? Я не возражаю против расширения Черты или чего-то еще, если это необходимо.
Спасибо.
class A {
var data: String = _
}
class B {
var data: String = _
}
object A {
projekt[A].to[B]
}
"dozer projektor" should {
"transform a simple bean" in {
// A.hashCode
val a = new A
a.data = "text"
val b = a.-->[B]
b.data must_== a.data
}
}