Ensure the SerializationBuilder passes through the expected class.

Conflicts:
	pom.xml
This commit is contained in:
Peter Lawrey
2015-07-25 22:48:29 +03:00
committed by leventov
parent c67fb8bb20
commit b80cac2a1f
@@ -307,7 +307,7 @@ public final class SerializationBuilder<E> implements Cloneable, Serializable {
public SerializationBuilder<E> objectSerializer(ObjectSerializer serializer) {
if (reader == null || interop == null) {
marshaller(new SerializableMarshaller(serializer));
marshaller(new SerializableMarshaller(serializer, eClass));
}
return this;
}
@@ -444,15 +444,17 @@ public final class SerializationBuilder<E> implements Cloneable, Serializable {
private static final long serialVersionUID = 0L;
private final ObjectSerializer serializer;
private final Class expectedClass;
private SerializableMarshaller(ObjectSerializer serializer) {
private SerializableMarshaller(ObjectSerializer serializer, Class expectedClass) {
this.serializer = serializer;
this.expectedClass = expectedClass;
}
@Override
public void write(Bytes bytes, Object obj) {
try {
serializer.writeSerializable(bytes, obj, null);
serializer.writeSerializable(bytes, obj, expectedClass);
} catch (IOException e) {
throw new IllegalStateException(e);
}