redspark/src/main/java/com/github/jrubygradle/redspark/RubySerializerInstance.java

46 lines
1.5 KiB
Java

package com.github.jrubygradle.redspark;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.util.logging.Logger;
import org.apache.spark.serializer.JavaSerializerInstance;
import scala.reflect.ClassTag;
import org.apache.spark.serializer.SerializerInstance;
import org.apache.spark.serializer.DeserializationStream;
import org.apache.spark.serializer.SerializationStream;
public class RubySerializerInstance<T> extends JavaSerializerInstance {
private static final Logger log = Logger.getLogger( RubySerializerInstance.class.getName() );
public RubySerializerInstance(int counterReset, boolean extraDebugInfo, ClassLoader loader) {
super(counterReset, true, loader);
}
public <T> T deserialize(ByteBuffer bytes, ClassLoader loader, ClassTag<T> evidence) {
log.info("deserialize with loader");
return super.deserialize(bytes, loader, evidence);
}
public <T> T deserialize(ByteBuffer bytes, ClassTag<T> evidence) {
log.info("deserialize");
return super.deserialize(bytes, evidence);
}
public <T> ByteBuffer serialize(T t, ClassTag<T> evidence) {
log.info("serialize");
return super.serialize(t, evidence);
}
public DeserializationStream deserializeStream(InputStream stream) {
log.info("deserialize stream");
return super.deserializeStream(stream);
}
public SerializationStream serializeStream(OutputStream stream) {
return new RubySerializationStream(stream);
}
}