public class DefaultClassMapper extends Object implements ClassMapper, InitializingBean
MessageProperties; the default
name of the message property containing the type is
"__TypeId__". An optional property
setDefaultType(Class) is provided that allows mapping to a statically defined
type, if no message property is found in the message properties.
setIdClassMapping(Map) can be used to map tokens in the
"__TypeId__" header to classes. If this class is not a
Spring-managed bean, call afterPropertiesSet() to set up the class to id
mapping.| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_CLASSID_FIELD_NAME |
| Constructor and Description |
|---|
DefaultClassMapper() |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
void |
fromClass(Class<?> clazz,
MessageProperties properties) |
String |
getClassIdFieldName()
The name of the header that contains the type id.
|
void |
setDefaultMapClass(Class<?> defaultMapClass)
Set the type of
Map to use. |
void |
setDefaultType(Class<?> defaultType)
The type returned by
toClass(MessageProperties) if no type information
is found in the message properties. |
void |
setIdClassMapping(Map<String,Class<?>> idClassMapping)
Set a map of type Ids (in the "__TypeId__" header) to
classes.
|
void |
setTrustedPackages(String... trustedPackages)
Specify a set of packages to trust during deserialization.
|
Class<?> |
toClass(MessageProperties properties) |
public static final String DEFAULT_CLASSID_FIELD_NAME
public void setDefaultType(Class<?> defaultType)
toClass(MessageProperties) if no type information
is found in the message properties.defaultType - the defaultType to set.public void setDefaultMapClass(Class<?> defaultMapClass)
Map to use. For outbound messages, set the
"__TypeId__" header to HashTable. For inbound messages,
if the "__TypeId__" header is Hashtable convert to this
class.defaultMapClass - the map class.DEFAULT_CLASSID_FIELD_NAMEpublic String getClassIdFieldName()
DEFAULT_CLASSID_FIELD_NAMEpublic void setIdClassMapping(Map<String,Class<?>> idClassMapping)
idClassMapping - the map of IDs to classes.public void setTrustedPackages(@Nullable String... trustedPackages)
*) means trust all.trustedPackages - the trusted Java packages for deserializationpublic void afterPropertiesSet()
Creates the reverse mapping from class to type id.
afterPropertiesSet in interface InitializingBeanpublic void fromClass(Class<?> clazz, MessageProperties properties)
fromClass in interface ClassMapperpublic Class<?> toClass(MessageProperties properties)
toClass in interface ClassMapper