Вам просто нужно объявить метод, который принимает замыкание в качестве параметра. Если последний параметр в списке является замыканием, его можно вызвать следующим образом:
def doSomething(int arg1, int arg2, Closure arg3) {
arg3(arg1, arg2)
}
И вы можете вызвать как:
doSomething(3, 5) {a,b -> a + b}
Или как:
doSomething(3, 5, {a,b -> a + b})
Метод также не может иметь другого аргумента, кроме замыкания:
def doSomething(Closure arg3) {
arg3()
}
print doSomething {println "closure invoked"}
print doSomething() {println "closure invoked"}
Дополнительную информацию можно найти на странице документации по закрытию .