package shared;

import java.io.IOException;
import java.io.OutputStream;

import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.engine.util.JRSaver;

import com.ulcjava.base.shared.IObjectInputStream;
import com.ulcjava.base.shared.IObjectOutputStream;
import com.ulcjava.base.shared.IStreamCoder;

public class JasperReportCoder implements IStreamCoder{

	public String getPeerClassName() {
		return JasperPrint.class.getName();
	}

	public void writeObject(IObjectOutputStream stream, Object data) throws IOException {
		stream.writeObject((JasperPrint)data);
				
//		JasperPrint jp = (JasperPrint)data;
//		JRSaver.saveObject(data,stream);	// stream is not java.io.OutputStream
//		stream.writeObject(jp);
	}

	public Object readObject(IObjectInputStream iStream) throws IOException {
		   return (JasperPrint)iStream.readObject();
		
//		JRLoader.loadObject(iStream);	// iStream is not java.io.InputStream

	}

}
