package org.playorm.nio.impl.cm.exception;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.playorm.nio.api.channels.Channel;
import org.playorm.nio.api.channels.RegisterableChannel;
import org.playorm.nio.api.handlers.OperationCallback;
public class ExcProxyWriteHandler implements OperationCallback {
private static final Logger log = Logger.getLogger(ExcProxyWriteHandler.class.getName());
private OperationCallback handler;
private Channel channel;
public ExcProxyWriteHandler(Channel c, OperationCallback h) {
if(h == null)
throw new IllegalArgumentException("Cannot use null writehandler");
handler = h;
channel = c;
}
public void finished(Channel realChannel) throws IOException {
try {
handler.finished(channel);
} catch(Exception e) {
log.log(Level.WARNING, channel+"Exception occurred", e);
}
}
public void failed(RegisterableChannel realChannel, Throwable e) {
try {
handler.failed(channel, e);
} catch(Exception ee) {
log.log(Level.WARNING, channel+"Exception occurred", ee);
}
}
}