public class DefaultJackson2JavaTypeMapper extends AbstractJavaTypeMapper implements Jackson2JavaTypeMapper
Jackson2JavaTypeMapper.TypePrecedence
DEFAULT_CLASSID_FIELD_NAME, DEFAULT_CONTENT_CLASSID_FIELD_NAME, DEFAULT_KEY_CLASSID_FIELD_NAME
Constructor and Description |
---|
DefaultJackson2JavaTypeMapper() |
Modifier and Type | Method and Description |
---|---|
void |
addTrustedPackages(String... packages)
Add trusted packages.
|
void |
fromClass(Class<?> clazz,
MessageProperties properties) |
void |
fromJavaType(com.fasterxml.jackson.databind.JavaType javaType,
MessageProperties properties)
Set the message properties according to the type.
|
com.fasterxml.jackson.databind.JavaType |
getInferredType(MessageProperties properties)
Return the inferred type, if the type precedence is inferred and the
header is present.
|
Jackson2JavaTypeMapper.TypePrecedence |
getTypePrecedence()
Return the precedence.
|
void |
setTrustedPackages(String... trustedPackages)
Specify a set of packages to trust during deserialization.
|
void |
setTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence typePrecedence)
Set the precedence for evaluating type information in message properties.
|
Class<?> |
toClass(MessageProperties properties) |
com.fasterxml.jackson.databind.JavaType |
toJavaType(MessageProperties properties)
Determine the type from the message properties.
|
addHeader, fromInferredTypeHeader, getClassIdFieldName, getClassLoader, getContentClassIdFieldName, getIdClassMapping, getKeyClassIdFieldName, hasInferredTypeHeader, retrieveHeader, retrieveHeaderAsString, setBeanClassLoader, setIdClassMapping
public Jackson2JavaTypeMapper.TypePrecedence getTypePrecedence()
getTypePrecedence
in interface Jackson2JavaTypeMapper
setTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence)
public void setTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence typePrecedence)
@RabbitListener
at the method level, the framework attempts
to determine the target type for payload conversion from the method signature.
If so, this type is provided in the
inferredArgumentType
message property.
By default, if the type is concrete (not abstract, not an interface), this will
be used ahead of type information provided in the __TypeId__
and
associated headers provided by the sender.
If you wish to force the use of the __TypeId__
and associated headers
(such as when the actual type is a subclass of the method argument type),
set the precedence to Jackson2JavaTypeMapper.TypePrecedence.TYPE_ID
.
typePrecedence
- the precedence.public void setTrustedPackages(@Nullable String... trustedPackages)
*
) means trust all.trustedPackages
- the trusted Java packages for deserializationpublic void addTrustedPackages(@Nullable String... packages)
Jackson2JavaTypeMapper
addTrustedPackages
in interface Jackson2JavaTypeMapper
packages
- the packages.public com.fasterxml.jackson.databind.JavaType toJavaType(MessageProperties properties)
Jackson2JavaTypeMapper
toJavaType
in interface Jackson2JavaTypeMapper
properties
- the properties.@Nullable public com.fasterxml.jackson.databind.JavaType getInferredType(MessageProperties properties)
Jackson2JavaTypeMapper
getInferredType
in interface Jackson2JavaTypeMapper
properties
- the message properties.public void fromJavaType(com.fasterxml.jackson.databind.JavaType javaType, MessageProperties properties)
Jackson2JavaTypeMapper
fromJavaType
in interface Jackson2JavaTypeMapper
javaType
- the type.properties
- the properties.public void fromClass(Class<?> clazz, MessageProperties properties)
fromClass
in interface ClassMapper
public Class<?> toClass(MessageProperties properties)
toClass
in interface ClassMapper