Есть ли у Nashorn метапрограммирование, подобное мета-классу Groovy?

Просто интересно, возможно ли в Nashorn расширить класс Java во время выполнения, подобный метаклассу Groovy?

Я искал InvokeDynamic, но я не уверен, что это то, что я хочу, и Java.extend позволяет мне расширять класс, но я получаю ссылку на объект только после того, как он был создан, что происходит вне моего приложения и прошло. Так что я получаю только экземпляр объекта.

Из моего исследования похоже, что подход Groovy фактически расширяет класс во время выполнения, и любое создание экземпляра класса получает расширенные методы.

Простите, если моя терминология неверна, но я новичок в Java.

Спасибо

1 ответ

Я думаю, это то, что вы ищете.

Это документация о том, как расширить Java-классы в Nashorn. Ссылка содержит много информации о взаимодействии Java с JavaScript и наоборот.

Другие вопросы по тегам