У меня есть Java Map<String,Object>
, к которому я обращаюсь, используя волшебный Groovy
myMap.property1.nestedProperty1.nestedNestedProperty
Это здорово, и я знаю, что могу безопасно перемещаться так:
myMap?.property1?.nestedProperty1?.nestedNestedProperty
Но, когда я обхожу огромную иерархическую вложенную карту, помнить о всегда безопасной навигации может быть утомительно.
Я думаю, что groovy реализует навигацию по графу гнезд с помощью переопределения invokeMethod
.
Чтоявляется рекомендуемым / лучшим способом для меня изменить это поведение для безопасной навигации по умолчанию без необходимости делать ?.
каждый раз?
Я намереваюсь переопределить только мои объекты карты metaClass.invokeMethod
, а не Класс один.
PS: Я искал отличный исходный код напрасно.Может кто-то также указать, где именно Groovy реализует эту функциональность в реализациях Java Map?