package org.apache.hadoop.hive.kafka.camus;
import org.apache.hadoop.io.Text;
import java.io.PrintWriter;
import java.io.StringWriter;
public class ExceptionWritable extends Text {
public ExceptionWritable() {
super();
}
public ExceptionWritable(String exception) {
super(exception);
}
public ExceptionWritable(Exception e) {
set(null, e);
}
public ExceptionWritable(String message, Exception e) {
set(message, e);
}
public void set(String message, Throwable e){
StringWriter strWriter = new StringWriter();
PrintWriter printer = new PrintWriter(strWriter);
if (message != null){
printer.write(message);
printer.write("\n");
}
e.printStackTrace(printer);
super.set(strWriter.toString());
printer.close();
}
public void set(Exception e){
set(null, e);
}
public void set(ExceptionWritable other) {
super.set(other.getBytes());
}
}