package jef.tools.security;
import java.io.IOException;
import java.io.Writer;
public class IChannelWriter extends Writer{
private String charset;
private IChannel channel;
public IChannelWriter(IChannel c,String encode){
this.channel=c;
this.charset=encode;
}
StringBuilder buff=new StringBuilder();
@Override
public synchronized void write(char[] cbuf, int off, int len) throws IOException {
int length=buff.append(cbuf,off,len).length();
if(length>0){
char last=buff.charAt(length-1);
if(last=='\n'){
flush();
}
}
}
public IChannel get(){
return channel;
}
@Override
public synchronized void flush() throws IOException {
if(buff.length()>0){
channel.write(buff.toString().getBytes(charset));
buff.setLength(0);
}
}
@Override
public void close() throws IOException {
channel.close();
}
}