2009-04-16 20 views
8

Mam klasę groovy, która ma możliwość zapisu jej wyjścia do StringWriter - (za pomocą metody setStringWriter).Jak przesłonić metodę java z groovy

w Javie Chciałbym wykorzystać następujący kod:

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

Dla Groovy mi powiedziano do korzystania zamknięcie, Próbowałem następujących bez powodzenia:

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

lub

filter.setStringWriter{String line -> print line} 

Jak mam to zrobić, czy jest to możliwe?

Odpowiedz

12

Następujące link daje wskazówkę, choć wspomina tylko interfejsy.

następujące prace z Groovy 1.6.1:

def s = [ write: { String line -> print line} ] as StringWriter 
filter.setStringWriter(s) 
Powiązane problemy