2009-04-16 5 views
8

Tôi có một lớp groovy có khả năng ghi đầu ra của nó vào một StringWriter - (thông qua phương thức setStringWriter).Cách ghi đè một phương thức java từ groovy

Trong java Tôi sẽ sử dụng đoạn mã sau:

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

Đối với Groovy Tôi đang nói đến sử dụng một kết thúc, tôi đã thử những điều sau đây không có may mắn:

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

hoặc

filter.setStringWriter{String line -> print line} 

Tôi làm cách nào để thực hiện việc này hoặc thậm chí có thể thực hiện được không?

Trả lời

12

link sau đây đưa ra một đầu mối, mặc dù nó chỉ đề cập đến giao diện.

Làm việc sau với Groovy 1.6.1:

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