Groovy имеет аккуратный синтаксис для увлажняющим пого с картой, как:Создайте объект @Immutable Groovy с помощью карты?
class Person {
Address address
}
class Address {
String city
}
Person p = new Person([address: [city: 'Toronto']])
assert p.address.city == 'Toronto'
Даже глубоко вложенным модель работает! Я пытался сделать это с @Immutable моделью, но безрезультатно:
@groovy.transform.Immutable
class Person {
Address address
}
@groovy.transform.Immutable
class Address {
String city
}
//works:
Address a = new Address('Toronto')
Person p = new Person(a)
assert p.address.city == 'Toronto'
//not works:
Person p = new Person([address: [city: 'Toronto']])
// ==> java.lang.RuntimeException: @Immutable processor doesn't know how to handle field 'address' of type 'java.util.LinkedHashMap' while constructing class Person.
Выполнение таких особенно удивительным происходит из JSON -> Карта -> ПНМО.
Любые идеи как?
Фантастический! Большое спасибо: – crazy4groovy
Означает ли это, что вы выберете мой ответ как правильный ответ (зеленая проверка)? (Спасибо за upvote, но это не совсем то же самое) – BalRog
Да, это сделано сейчас :) – crazy4groovy