2012-10-01 31 views
0

一個metaClass如何獲取一個對象和一個閉包?如何metaClass採用閉包的Groovy方法?

具體地說,

public void eachRow(GString gstring, Closure closure) 

我想的metaClass eachRow(),使得它打印的GString參數,並忽略封閉。我們的目標是創建一個應用程序,當傳遞某個參數時,會使用groovy.sql.Sql執行一種「空運行」執行,而不是執行查詢,它只是打印它通常執行的語句。

回答

1

所以我認爲我的問題不是我如何定義方法,而是我的(或沒有返回)。這似乎工作...

sql.metaClass.eachRow = { String qry, Closure c -> 
    println qry 
    new GroovyRowResult([:]) // I was returning null, adding this fixed me. 
} 
相關問題