Java 8: converter lambda em uma instância de Method com limpeza incluída
(Isso é difícil de pesquisar porque os resultados são todos sobre "referência de método")
Eu quero umMethod
instância para uma expressão lambda para uso com uma API baseada em reflexão herdada. A roupa deve ser incluída, chamando assimthatMethod.invoke(null, ...)
deve ter o mesmo efeito que chamar o lambda.
Eu olheiMethodHandles.Lookup, mas apenas parece ser relevante para a transformação reversa. Mas acho que obind
método pode ajudar a incluir a roupa?
Editar:
Digamos que eu tenho expansão lambda:
Function<String, String> sayHello = name -> "Hello, " + name;
e eu tenho uma estrutura legada (SpEL) que possui uma API como
registerFunction(String name, Method method)
que chamará o dadoMethod
com nenhumthis
argumento (ou seja, Método assumido como estático). Então eu vou precisar de um especialMethod
instância que inclui a lógica lambda + os dados de limpeza.