package com.jivesoftware.os.amza.service.replication.http.endpoints;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectStreamClass;
import java.io.StreamCorruptedException;
/**
*
*/
public class ObjectInputStreamWithLoader extends ObjectInputStream {
private final ClassLoader loader;
public ObjectInputStreamWithLoader(InputStream in, ClassLoader loader) throws IOException {
super(in);
if (loader == null) {
throw new IllegalArgumentException("Illegal null argument to ObjectInputStreamWithLoader");
}
this.loader = loader;
}
protected Class resolveClass(ObjectStreamClass classDesc) throws IOException, ClassNotFoundException {
String name = classDesc.getName();
try {
return Class.forName(name, false, loader);
} catch (ClassNotFoundException ex) {
throw new RuntimeException(ex);
}
}
}