Class AbstractKotlinSerializationHttpMessageConverter<T extends kotlinx.serialization.SerialFormat>
java.lang.Object
org.springframework.http.converter.AbstractHttpMessageConverter<T>
org.springframework.http.converter.AbstractSmartHttpMessageConverter<Object>
org.springframework.http.converter.AbstractKotlinSerializationHttpMessageConverter<T>
- Type Parameters:
- T- the type of- SerialFormat
- All Implemented Interfaces:
- HttpMessageConverter<Object>,- SmartHttpMessageConverter<Object>
- Direct Known Subclasses:
- KotlinSerializationBinaryHttpMessageConverter,- KotlinSerializationStringHttpMessageConverter
public abstract class AbstractKotlinSerializationHttpMessageConverter<T extends kotlinx.serialization.SerialFormat>
extends AbstractSmartHttpMessageConverter<Object>
Abstract base class for 
HttpMessageConverter implementations that
 use Kotlin serialization.- Since:
- 6.0
- Author:
- Andreas Ahlenstorf, Sebastien Deleuze, Juergen Hoeller, Iain Henderson, Arjen Poutsma
- 
Field SummaryFields inherited from class org.springframework.http.converter.AbstractHttpMessageConverterlogger
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedAbstractKotlinSerializationHttpMessageConverter(T format, MediaType... supportedMediaTypes) Construct anAbstractKotlinSerializationHttpMessageConverterwith multiple supported media type and format.
- 
Method SummaryModifier and TypeMethodDescriptionbooleancanRead(ResolvableType type, MediaType mediaType) Indicates whether the given type can be read by this converter.booleancanWrite(ResolvableType type, Class<?> clazz, MediaType mediaType) Indicates whether the given class can be written by this converter.getSupportedMediaTypes(Class<?> clazz) Return the list of media types supported by this converter for the given class.final Objectread(ResolvableType type, HttpInputMessage inputMessage, Map<String, Object> hints) Read an object of the given type from the given input message, and returns it.protected abstract ObjectreadInternal(kotlinx.serialization.KSerializer<Object> serializer, T format, HttpInputMessage inputMessage) Reads the given input message with the given serializer and format.protected booleanIndicates whether the given class is supported by this converter.protected booleansupportsRepeatableWrites(Object object) Indicates whether this message converter can write the given object multiple times.protected abstract voidwriteInternal(Object object, kotlinx.serialization.KSerializer<Object> serializer, T format, HttpOutputMessage outputMessage) Write the given object to the output message with the given serializer and format.protected final voidwriteInternal(Object object, ResolvableType type, HttpOutputMessage outputMessage, Map<String, Object> hints) Abstract template method that writes the actual body.Methods inherited from class org.springframework.http.converter.AbstractSmartHttpMessageConverterreadInternal, write, writeInternalMethods inherited from class org.springframework.http.converter.AbstractHttpMessageConverteraddDefaultHeaders, canRead, canRead, canWrite, canWrite, getContentLength, getDefaultCharset, getDefaultContentType, getSupportedMediaTypes, read, setDefaultCharset, setSupportedMediaTypes, writeMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.http.converter.HttpMessageConvertergetSupportedMediaTypesMethods inherited from interface org.springframework.http.converter.SmartHttpMessageConvertercanRead, canWrite, read, write
- 
Constructor Details- 
AbstractKotlinSerializationHttpMessageConverterprotected AbstractKotlinSerializationHttpMessageConverter(T format, MediaType... supportedMediaTypes) Construct anAbstractKotlinSerializationHttpMessageConverterwith multiple supported media type and format.- Parameters:
- format- the format
- supportedMediaTypes- the supported media types
 
 
- 
- 
Method Details- 
getSupportedMediaTypesDescription copied from interface:HttpMessageConverterReturn the list of media types supported by this converter for the given class. The list may differ fromHttpMessageConverter.getSupportedMediaTypes()if the converter does not support the given Class or if it supports it only for a subset of media types.- Parameters:
- clazz- the type of class to check
- Returns:
- the list of media types supported for the given class
 
- 
supportsDescription copied from class:AbstractHttpMessageConverterIndicates whether the given class is supported by this converter.- Overrides:
- supportsin class- AbstractSmartHttpMessageConverter<Object>
- Parameters:
- clazz- the class to test for support
- Returns:
- trueif supported;- falseotherwise
 
- 
canReadDescription copied from interface:SmartHttpMessageConverterIndicates whether the given type can be read by this converter. This method should perform the same checks asHttpMessageConverter.canRead(Class, MediaType)with additional ones related to the generic type.- Specified by:
- canReadin interface- SmartHttpMessageConverter<T extends kotlinx.serialization.SerialFormat>
- Overrides:
- canReadin class- AbstractSmartHttpMessageConverter<Object>
- Parameters:
- type- the (potentially generic) type to test for readability. The type source may be used for retrieving additional information (the related method signature for example) when relevant.
- mediaType- the media type to read, can be- nullif not specified. Typically, the value of a- Content-Typeheader.
- Returns:
- trueif readable;- falseotherwise
 
- 
canWriteDescription copied from interface:SmartHttpMessageConverterIndicates whether the given class can be written by this converter.This method should perform the same checks as HttpMessageConverter.canWrite(Class, MediaType)with additional ones related to the generic type.- Specified by:
- canWritein interface- SmartHttpMessageConverter<T extends kotlinx.serialization.SerialFormat>
- Overrides:
- canWritein class- AbstractSmartHttpMessageConverter<Object>
- Parameters:
- type- the (potentially generic) target type to test for writability (can be- ResolvableType.NONEif not specified). The type source may be used for retrieving additional information (the related method signature for example) when relevant.
- clazz- the source object class to test for writability
- mediaType- the media type to write (can be- nullif not specified); typically the value of an- Acceptheader.
- Returns:
- trueif writable;- falseotherwise
 
- 
readpublic final Object read(ResolvableType type, HttpInputMessage inputMessage, @Nullable Map<String, Object> hints) throws IOException, HttpMessageNotReadableExceptionDescription copied from interface:SmartHttpMessageConverterRead an object of the given type from the given input message, and returns it.- Parameters:
- type- the (potentially generic) type of object to return. This type must have previously been passed to the- canReadmethod of this interface, which must have returned- true. The type source may be used for retrieving additional information (the related method signature for example) when relevant.
- inputMessage- the HTTP input message to read from
- hints- additional information about how to encode
- Returns:
- the converted object
- Throws:
- IOException- in case of I/O errors
- HttpMessageNotReadableException- in case of conversion errors
 
- 
readInternalprotected abstract Object readInternal(kotlinx.serialization.KSerializer<Object> serializer, T format, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException Reads the given input message with the given serializer and format.
- 
writeInternalprotected final void writeInternal(Object object, ResolvableType type, HttpOutputMessage outputMessage, @Nullable Map<String, Object> hints) throws IOException, HttpMessageNotWritableExceptionDescription copied from class:AbstractSmartHttpMessageConverterAbstract template method that writes the actual body. Invoked fromAbstractSmartHttpMessageConverter.write(Object, ResolvableType, MediaType, HttpOutputMessage, Map).- Specified by:
- writeInternalin class- AbstractSmartHttpMessageConverter<Object>
- Parameters:
- object- the object to write to the output message
- type- the type of object to write
- outputMessage- the HTTP output message to write to
- hints- additional information about how to encode
- Throws:
- IOException- in case of I/O errors
- HttpMessageNotWritableException- in case of conversion errors
 
- 
writeInternalprotected abstract void writeInternal(Object object, kotlinx.serialization.KSerializer<Object> serializer, T format, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException Write the given object to the output message with the given serializer and format.
- 
supportsRepeatableWritesDescription copied from class:AbstractHttpMessageConverterIndicates whether this message converter can write the given object multiple times.The default implementation returns false.- Overrides:
- supportsRepeatableWritesin class- AbstractHttpMessageConverter<Object>
- Parameters:
- object- the object t
- Returns:
- trueif- tcan be written repeatedly;- falseotherwise
 
 
-