io.prestosql.jdbc.$internal.jackson.databind.ser.SerializerFactory Maven / Gradle / Ivy
The newest version!
package io.prestosql.jdbc.$internal.jackson.databind.ser;
import io.prestosql.jdbc.$internal.jackson.databind.*;
import io.prestosql.jdbc.$internal.jackson.databind.jsontype.TypeSerializer;
/**
* Abstract class that defines API used by {@link SerializerProvider}
* to obtain actual
* {@link JsonSerializer} instances from multiple distinct factories.
*/
public abstract class SerializerFactory
{
/*
/**********************************************************
/* Additional configuration methods
/**********************************************************
*/
/**
* Convenience method for creating a new factory instance with additional serializer
* provider; equivalent to calling
*
* withConfig(getConfig().withAdditionalSerializers(additional));
*
*/
public abstract SerializerFactory withAdditionalSerializers(Serializers additional);
public abstract SerializerFactory withAdditionalKeySerializers(Serializers additional);
/**
* Convenience method for creating a new factory instance with additional bean
* serializer modifier; equivalent to calling
*
* withConfig(getConfig().withSerializerModifier(modifier));
*
*/
public abstract SerializerFactory withSerializerModifier(BeanSerializerModifier modifier);
/*
/**********************************************************
/* Basic SerializerFactory API:
/**********************************************************
*/
/**
* Method called to create (or, for immutable serializers, reuse) a serializer for given type.
*
* @param prov Provider that needs to be used to resolve annotation-provided
* serializers (but NOT for others)
*
* @since 2.1 (earlier versions had method with different signature)
*/
public abstract JsonSerializer