Есть ли у Nashorn метапрограммирование, подобное мета-классу Groovy?
Просто интересно, возможно ли в Nashorn расширить класс Java во время выполнения, подобный метаклассу Groovy?
Я искал InvokeDynamic, но я не уверен, что это то, что я хочу, и Java.extend позволяет мне расширять класс, но я получаю ссылку на объект только после того, как он был создан, что происходит вне моего приложения и прошло. Так что я получаю только экземпляр объекта.
Из моего исследования похоже, что подход Groovy фактически расширяет класс во время выполнения, и любое создание экземпляра класса получает расширенные методы.
Простите, если моя терминология неверна, но я новичок в Java.
Спасибо
1 ответ
Я думаю, это то, что вы ищете.
Это документация о том, как расширить Java-классы в Nashorn. Ссылка содержит много информации о взаимодействии Java с JavaScript и наоборот.