Проверка свойств объекта Groovy с помощью отражения Java - PullRequest
1 голос
/ 14 января 2010

У меня есть класс Expando, который мне нужен для проверки его свойств из Java.В Groovy:

def worker = new Expando()
worker.name = "John"
worker.surname = "Doe"

В Java:

Introspector.getBeanInfo(groovyObject.getClass())

Можно ли скомпилировать во время выполнения класс из объекта в Groovy?

Ответы [ 2 ]

0 голосов
/ 15 января 2010

Вы можете попробовать механизм JSR 223 / Script с Groovy ( пример здесь ), если вы используете Java 6. Он позволяет вам оценивать код Groovy из Java.

В зависимости от местоположения / определения Expando, вы можете получить его свойства, оценив getProperties() (по состоянию на Groovy 1.7).

0 голосов
/ 15 января 2010

Expando полностью динамичен. Он не генерирует никаких методов получения или установки байт-кода и поэтому не может использоваться как JavaBean. Для чего вам нужен бин-интроспектор? Возможно, вам удастся реализовать эту логику с помощью экспансии напрямую, если вы напишите ее в Groovy.

...