package com.google.code.joto.util.io; import java.io.IOException; import java.io.InputStream; import java.io.ObjectInputStream; import java.io.ObjectStreamClass; /** * specific sub-class of ObjectInputStream for compressing */ public class CompressedObjectInputStream extends ObjectInputStream { private IdToObjectStreamClassCompressionContext ctx; // ------------------------------------------------------------------------- public CompressedObjectInputStream( InputStream input, IdToObjectStreamClassCompressionContext ctx) throws IOException, SecurityException { super(input); this.ctx = ctx; } // ------------------------------------------------------------------------- @Override protected ObjectStreamClass readClassDescriptor() throws IOException, ClassNotFoundException { // TOCHECK use sub-block for underlying input ObjectStreamClass res = ctx.decodeContextualValue(this); return res; } }