0
我在Groovy中編寫了一小段代碼。我有2種方法1)generateAll
和其他2)validate
。這個想法是攔截電話generateAll
。首先驗證輸入,然後繼續執行generateAll
。我不知道爲什麼,但 this.metaClass.getMetaMethod(name, args)
總是給我空爲validate
方法。但是,如果我不傳遞參數,它會找到該方法,但後來由於傳遞的參數數量錯誤而中斷。Groovy的MethodIntercept
class CreateAllScripts implements GroovyInterceptable {
void generateAll(String configName) {
//DO some stuff
}
def invokeMethod(String name, args) {
if (name == 'generateAll') {
//First validate the config
validate(args);
}
def method = this.metaClass.getMetaMethod(name, args)
method.invoke(this, args)
}
private void validate(String configName) {
println("Validating")
//perform some validation.
}
}