2012-10-01 2 views
0

개체와 클로저를 취하는 메서드를 metaClass하는 방법은 무엇입니까? 그것은 G 스트링 파라미터를 출력하고, 폐쇄 무시되도록 구체적클로저를 사용하는 Groovy 메서드를 metaClass하는 방법은 무엇입니까?

public void eachRow(GString gstring, Closure closure) 

I는 메타 클래스 eachRow하려는(). 목표는 특정 매개 변수를 전달할 때 groovy.sql.Sql을 사용하여 일종의 '마른 실행'실행을 수행하는 앱을 만드는 것입니다.이 프로그램에서는 쿼리를 실행하는 대신 정상적으로 실행했을 문을 인쇄합니다.

답변

1

그래서 내 문제는 내가 메서드를 정의하는 것이 아니었지만 내가 무엇을했는지 (또는 반환하지 않았던 것) 생각합니다. 이것은 작동하는 것으로 보입니다 ...

sql.metaClass.eachRow = { String qry, Closure c -> 
    println qry 
    new GroovyRowResult([:]) // I was returning null, adding this fixed me. 
} 
관련 문제