При разработке библиотеки Groovy, которая будет использоваться с кодом Java, я хочу иметь возможность использовать Java лямбда-выражения, чем Groovy определенные c механизмы.
При доступе к этой библиотеке API со стороны Java пользователь не должен нуждаться в импорте Groovy спецификаций c или предоставления каких-либо Groovy специфических функций.
Java -specifi c Lambdas могут быть переданы в API, а также Java -specifi c Lambdas должны быть возвращены из API.
Есть ли способ, которым это может быть достигнуто?
Например,
def f() {
return { n -> n + 1}
}
Тип возврата f
- groovy.lang.Closure
. Я хочу, чтобы это было Function
.
Кроме того, вместо
def f(Closure c) {
...
c.delegate = this
c.resolveStrategy = DELEGATE_ONLY
...
}
я хочу заменить Closure c
на Function
.
При этом, когда при использовании со стороны Java Groovy функции и API не предоставляются разработчику.