org.wildfly.clustering.marshalling.protostream.SerializationContext Maven / Gradle / Ivy
/*
* Copyright The WildFly Authors
* SPDX-License-Identifier: Apache-2.0
*/
package org.wildfly.clustering.marshalling.protostream;
import org.infinispan.protostream.ImmutableSerializationContext;
/**
* Extension of {@link SerializationContext} that ensures all registered marshallers implement {@link ProtoStreamMarshaller}.
* Overrides {@link #getMarshaller(Class)} {@link #getMarshaller(String)} and {@link #getMarshaller(Object)} to return a {@link ProtoStreamMarshaller}.
* @author Paul Ferraro
*/
public interface SerializationContext extends org.infinispan.protostream.SerializationContext {
void registerMarshaller(ProtoStreamMarshaller> marshaller);
@Override
ProtoStreamMarshaller getMarshaller(Class targetClass);
@Override
ProtoStreamMarshaller getMarshaller(T object);
@Override
ProtoStreamMarshaller getMarshaller(String fullTypeName);
ImmutableSerializationContext getImmutableSerializationContext();
interface InstanceMarshallerProvider extends org.infinispan.protostream.SerializationContext.InstanceMarshallerProvider {
@Override
ProtoStreamMarshaller getMarshaller(T instance);
@Override
ProtoStreamMarshaller getMarshaller(String typeName);
}
}