Class ObjectToMapTransformer

All Implemented Interfaces:
Aware, BeanFactoryAware, BeanNameAware, InitializingBean, ApplicationContextAware, ExpressionCapable, GenericTransformer<Message<?>,Message<?>>, NamedComponent, Transformer

public class ObjectToMapTransformer extends AbstractPayloadTransformer<Object,Map<?,?>>
Transforms an object graph into a Map. It supports a conventional Map (map of maps) where complex attributes are represented as Map values as well as a flat Map where keys document the path to the value. By default it will transform to a flat Map. If you need to transform to a Map of Maps set the 'shouldFlattenKeys' property to 'false' via the setShouldFlattenKeys(boolean) method. It supports Collections, Maps and Arrays which means that for flat maps it will flatten an Object's properties. Below is an example showing how a flattened Object hierarchy is represented when 'shouldFlattenKeys' is TRUE.

The transformation is based on to and then from JSON conversion. public class Person { public String name = "John"; public Address address = new Address(); } public class Address { private String street = "123 Main Street"; } The resulting Map would look like this: {name=John, address.street=123 Main Street}

Oleg Zhurakousky, Artem Bilan, Gary Russell, Vikas Prasad
See Also: