2009-04-16 5 views
8

나는 그 출력을 StringWriter - (setStringWriter 메소드를 통해) 쓸 수있는 그루비 클래스를 사용하고 있습니다.Groovy에서 Java 메소드를 오버라이드하는 방법

자바 나는 다음과 같은 코드를 사용합니다에서

: 내가 말한거야 그루비를 들어

filter.setStringWriter(new StringWriter(){ 
    @Override 
    public void write(String string){ 
     // do something with the string 
    } 
}); 

는 클로저를 사용하는, 내가 행운과 함께 다음을 시도했다 :

def s = {String line -> print line} as StringWriter 
filter.setStringWriter(s) 

또는

filter.setStringWriter{String line -> print line} 

어떻게이 작업을 수행 할 수 있습니까, 아니면 가능합니까?

답변

12

다음의 link은 단서를 제공하지만 인터페이스 만 언급합니다. 그루비 1.6.1와

다음 작품 :

def s = [ write: { String line -> print line} ] as StringWriter 
filter.setStringWriter(s) 
관련 문제