2009-04-16 5 views
8

J'ai une classe groovy qui a la capacité d'écrire sa sortie à StringWriter - (via une méthode setStringWriter).Comment remplacer une méthode java de groovy

En java j'utiliser le code suivant:

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

Pour Groovy on me dit d'utiliser une fermeture, je l'ai essayé ce qui suit sans succès:

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

ou

filter.setStringWriter{String line -> print line} 

Comment procéder, ou est-ce possible?

Répondre

12

Le link suivant donne une idée, bien qu'il ne mentionne que des interfaces.

Les travaux suivants avec Groovy 1.6.1:

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