Top Description Fields Constructors Methods
org.springframework.messaging.converter

public abstract Class AbstractJsonMessageConverter

extends AbstractMessageConverter
Class Inheritance
Known Direct Subclasses
org.springframework.messaging.converter.GsonMessageConverter, org.springframework.messaging.converter.JsonbMessageConverter, org.springframework.messaging.converter.KotlinSerializationJsonMessageConverter
Imports
java.io.ByteArrayInputStream, .ByteArrayOutputStream, .InputStream, .InputStreamReader, .OutputStreamWriter, .Reader, .Writer, java.lang.reflect.Type, java.nio.charset.Charset, .StandardCharsets, org.springframework.lang.Nullable, org.springframework.messaging.Message, .MessageHeaders, org.springframework.util.ClassUtils, .MimeType

Common base class for plain JSON converters, e.g. Gson and JSON-B.
Author
Juergen Hoeller
Since
5.3
See Also
GsonMessageConverter, JsonbMessageConverter, fromJson(Reader, Type), fromJson(String, Type), toJson(Object, Type), toJson(Object, Type, Writer)

Field Summary

Modifier and TypeField and Description
private static final Charset
Inherited from org.springframework.messaging.converter.AbstractMessageConverter:
logger

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
protected Object
convertFromInternal(Message<?>
the input message
message
,
Class<?>
the target class for the conversion
targetClass
,
Object
an extra object passed to the MessageConverter, e.g. the associated MethodParameter (may be null}
conversionHint
)

Overrides org.springframework.messaging.converter.AbstractMessageConverter.convertFromInternal.

Convert the message payload from serialized form to an Object.
protected Object
convertToInternal(Object
the Object to convert
payload
,
MessageHeaders
optional headers for the message (may be null)
headers
,
Object
an extra object passed to the MessageConverter, e.g. the associated MethodParameter (may be null}
conversionHint
)

Overrides org.springframework.messaging.converter.AbstractMessageConverter.convertToInternal.

Convert the payload object to serialized form.
protected abstract Object
fromJson(Reader reader, Type resolvedType)

protected abstract Object
fromJson(String payload, Type resolvedType)

private Charset
private Reader
getReader(byte[] payload, MessageHeaders headers)

private Writer
protected boolean
supports(Class<?>
the class to test for support
clazz
)

Implements abstract org.springframework.messaging.converter.AbstractMessageConverter.supports.

Whether the given class is supported by this converter.
protected abstract void
toJson(Object payload, Type resolvedType, Writer writer)

protected abstract String
toJson(Object payload, Type resolvedType)

Inherited from org.springframework.messaging.converter.AbstractMessageConverter:
addSupportedMimeTypescanConvertFromcanConvertTofromMessagefromMessagegetContentTypeResolvergetDefaultContentTypegetMimeTypegetResolvedTypegetSerializedPayloadClassgetSupportedMimeTypesisStrictContentTypeMatchsetContentTypeResolversetSerializedPayloadClasssetStrictContentTypeMatchsupportsMimeTypetoMessagetoMessage

Field Detail

DEFAULT_CHARSETback to summary
private static final Charset DEFAULT_CHARSET

Constructor Detail

AbstractJsonMessageConverterback to summary
protected AbstractJsonMessageConverter()

Method Detail

convertFromInternalback to summary
protected Object convertFromInternal(Message<?> message, Class<?> targetClass, Object conversionHint)

Overrides org.springframework.messaging.converter.AbstractMessageConverter.convertFromInternal.

Doc from org.springframework.messaging.converter.AbstractMessageConverter.convertFromInternal.

Convert the message payload from serialized form to an Object.

Parameters
message:Message<?>

the input message

targetClass:Class<?>

the target class for the conversion

conversionHint:Object

an extra object passed to the MessageConverter, e.g. the associated MethodParameter (may be null}

Returns:Object

the result of the conversion, or null if the converter cannot perform the conversion

Annotations
@Override
@Nullable
convertToInternalback to summary
protected Object convertToInternal(Object payload, MessageHeaders headers, Object conversionHint)

Overrides org.springframework.messaging.converter.AbstractMessageConverter.convertToInternal.

Doc from org.springframework.messaging.converter.AbstractMessageConverter.convertToInternal.

Convert the payload object to serialized form.

Parameters
payload:Object

the Object to convert

headers:MessageHeaders

optional headers for the message (may be null)

conversionHint:Object

an extra object passed to the MessageConverter, e.g. the associated MethodParameter (may be null}

Returns:Object

the resulting payload for the message, or null if the converter cannot perform the conversion

Annotations
@Override
@Nullable
fromJsonback to summary
protected abstract Object fromJson(Reader reader, Type resolvedType)
fromJsonback to summary
protected abstract Object fromJson(String payload, Type resolvedType)
getCharsetToUseback to summary
private Charset getCharsetToUse(MessageHeaders headers)
getReaderback to summary
private Reader getReader(byte[] payload, MessageHeaders headers)
getWriterback to summary
private Writer getWriter(ByteArrayOutputStream out, MessageHeaders headers)
supportsback to summary
protected boolean supports(Class<?> clazz)

Implements abstract org.springframework.messaging.converter.AbstractMessageConverter.supports.

Doc from org.springframework.messaging.converter.AbstractMessageConverter.supports.

Whether the given class is supported by this converter.

Parameters
clazz:Class<?>

the class to test for support

Returns:boolean

true if supported; false otherwise

Annotations
@Override
toJsonback to summary
protected abstract void toJson(Object payload, Type resolvedType, Writer writer)
toJsonback to summary
protected abstract String toJson(Object payload, Type resolvedType)