Support for generic marshallers
I would like a way to use generic marshallers without relying on deprecated methods, right now org.infinispan.protostream.impl.SerializationContextImpl looks up marshallers using a hashmap with the class as a key which doesn't find a compatible marshaller. I am currently working around this by creating a MarshallerProvider.. would you consider keeping MarshallerProvider in order to maintain this functionality?
serializationContext.registerMarshallerProvider(new MarshallerProvider() {
@Override
public BaseMarshaller<?> getMarshaller(String typeName) {
return null;
}
@Override
public BaseMarshaller<?> getMarshaller(Class<?> javaClass) {
if (AbstractActor.class.isAssignableFrom(javaClass)) {
return getContext().getMarshaller(AbstractActor.class);
}
if (ActorObserver.class.isAssignableFrom(javaClass)) {
return getContext().getMarshaller(ActorObserver.class);
}
if (RemoteReference.class.isAssignableFrom(javaClass)) {
return getContext().getMarshaller(RemoteReference.class);
}
return null;
}
});
doesn't void registerMarshallerProvider(InstanceMarshallerProvider<?> marshallerProvider); work for you ?
doesn't
void registerMarshallerProvider(InstanceMarshallerProvider<?> marshallerProvider);work for you ?
it does but it is marked deprecated.
@Deprecated
void registerMarshallerProvider(MarshallerProvider marshallerProvider);
is deprecated, but
void registerMarshallerProvider(InstanceMarshallerProvider<?> marshallerProvider);
is not.