Author: tchemit Date: 2010-05-08 13:54:12 +0200 (Sat, 08 May 2010) New Revision: 887 Url: http://nuiton.org/repositories/revision/eugene/887 Log: improve MonitorWriter Modified: trunk/eugene/src/main/java/org/nuiton/eugene/MonitorWriter.java Modified: trunk/eugene/src/main/java/org/nuiton/eugene/MonitorWriter.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/MonitorWriter.java 2010-05-08 11:12:02 UTC (rev 886) +++ trunk/eugene/src/main/java/org/nuiton/eugene/MonitorWriter.java 2010-05-08 11:54:12 UTC (rev 887) @@ -28,6 +28,7 @@ import java.io.FilterWriter; import java.io.IOException; import java.io.StringWriter; +import java.io.Writer; /** * Permet de savoir si on a ecrit dans le flux ou non. L'ecriture d'une chaine @@ -45,16 +46,13 @@ public class MonitorWriter extends FilterWriter { // MonitorWriter boolean modified; - //FIXME : ca sert a quoi duplique cette propriete qui existe dans FilterWriter ? - StringWriter out; public MonitorWriter(StringWriter out) { super(out); - this.out = out; } public StringBuffer getBuffer() { - return out.getBuffer(); + return ((StringWriter)out).getBuffer(); } public boolean isModified() { @@ -79,5 +77,37 @@ modified = true; } + @Override + public void write(String str) throws IOException { + super.write(str); + modified = true; + } + + @Override + public void write(char[] cbuf) throws IOException { + super.write(cbuf); + modified = true; + } + + @Override + public Writer append(CharSequence csq) throws IOException { + Writer writer = super.append(csq); + modified = true; + return writer; + } + + @Override + public Writer append(CharSequence csq, int start, int end) throws IOException { + Writer writer = super.append(csq, start, end); + modified = true; + return writer; + } + + @Override + public Writer append(char c) throws IOException { + Writer writer = super.append(c); + modified = true; + return writer; + } }// MonitorWriter