Моя цель - выполнить скрипт groovy с привязкой, где функции предопределены, а время выполнения перехватчика выходит из системы и результат оценки закрытия. Мой пример кода:
binding.login = { ->
binding.event.appname=='login'
} def gse = new GroovyScriptEngine("src/main/resources/rules")
gse.run('DSL.groovy', binding)
Внутри моего скрипта я вызываю метод входа в систему. Все работает, за исключением того, что я не могу понять, как его перехватить с помощью MetaClass. Мои попытки нравятся
Binding.metaClass.invokeMethod = { String name, args ->
println ("Call to $name intercepted... ")
не работает. Позже я понял, что замыкание — это свойство привязки, а не метод. Есть ли способ выполнить перехват в этом сценарии и как это сделать? Что было бы правильным объектом для метакласса? Следует отметить, что мое закрытие выполняется внутри другого вложенного закрытия. Спасибо