package com.google.code.joto.util.io;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.ObjectStreamClass;
import java.io.OutputStream;
/**
* specific sub-class of ObjectOutputStream for compressing
*/
public class CompressedObjectOutputStream extends ObjectOutputStream {
private IdToObjectStreamClassCompressionContext ctx;
// -------------------------------------------------------------------------
public CompressedObjectOutputStream(
OutputStream output,
IdToObjectStreamClassCompressionContext ctx)
throws IOException, SecurityException {
super(output);
this.ctx = ctx;
}
// -------------------------------------------------------------------------
@Override
protected void writeClassDescriptor(ObjectStreamClass desc) throws IOException {
// TOCHECK use sub-block for underlying output
ctx.encodeContextualValue(desc, this);
}
// -------------------------------------------------------------------------
}