Class KotlinSerializationSupport<T extends kotlinx.serialization.SerialFormat>

java.lang.Object
org.springframework.http.codec.KotlinSerializationSupport<T>
Type Parameters:
T - the type of SerialFormat
Direct Known Subclasses:
KotlinSerializationBinaryDecoder, KotlinSerializationBinaryEncoder, KotlinSerializationStringDecoder, KotlinSerializationStringEncoder

public abstract class KotlinSerializationSupport<T extends kotlinx.serialization.SerialFormat> extends Object
Base class providing support methods for encoding and decoding with Kotlin serialization.
Since:
6.0
Author:
Sebastien Deleuze, Iain Henderson, Arjen Poutsma
  • Constructor Details

    • KotlinSerializationSupport

      protected KotlinSerializationSupport(T format, MimeType... supportedMimeTypes)
      Creates a new instance of this support class with the given format and supported mime types.
  • Method Details

    • format

      protected final T format()
      Returns the format.
    • supportedMimeTypes

      protected final List<MimeType> supportedMimeTypes()
      Returns the supported mime types.
    • canSerialize

      protected final boolean canSerialize(ResolvableType type, @Nullable MimeType mimeType)
      Indicates whether the given type can be serialized using Kotlin serialization.
      Parameters:
      type - the type to be serialized
      mimeType - the mimetype to use (can be null)
      Returns:
      true if type can be serialized; false otherwise
    • serializer

      @Nullable protected final kotlinx.serialization.KSerializer<Object> serializer(ResolvableType resolvableType)
      Returns the serializer that can (de)serialize instances of the given type. If no serializer can be found, or if resolvableType is a open polymorphic type, null is returned.
      Parameters:
      resolvableType - the type to find a serializer for
      Returns:
      a resolved serializer for the given type, or null