package org.nutz.lang.socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.OutputStream;
import org.nutz.lang.Encoding;
import org.nutz.lang.Lang;
import org.nutz.lang.util.SimpleContext;
public class SocketContext extends SimpleContext {
private SocketAtom atom;
public SocketContext(SocketAtom atom) {
this.atom = atom;
}
public BufferedReader getReader() {
return atom.br;
}
public String readLine() throws IOException {
if (atom.socket.isClosed())
return null;
return atom.br.readLine();
}
public String getCurrentLine() {
return atom.line;
}
public OutputStream getOutputStream() {
return atom.ops;
}
public void write(String str) {
if (!atom.socket.isClosed())
try {
atom.ops.write(str.getBytes(Encoding.UTF8));
}
catch (IOException e) {
throw Lang.wrapThrow(e);
}
}
public void writeLine(String str) {
write(str + "\n");
}
}