Dozer is a powerful yet simple Java Bean to Java Bean mapper that recursively copies data from one object to another. Typically, these Java Beans will be of different complex types. The mapper can be used any time you need to take one type of Java Bean and map it to another type of Java Bean. Most field mapping can be done implicitly by dozer with attribute names that are the same. All other explicit field mapping or custom mapping can be pre-described in XML format. Mapping is bi-directional so only one relationship between classes needs defining. Dozer will make sure that your data transfer objects from the database do not bleed into the presentation or into external consumers. It can also help map your domain objects to external API calls and vice-versa.
Some of the Dozer 2.0 features include:
- Context based mapping
- Collection and Array mapping handling Lists, Sets, Arrays and allowing for class type hints
- Support for custom converters
- Custom bean factories for beans that do not follow the JavaBean specification
- Inheritance mapping including abstract classes and interfaces
- Field exclusion and custom getter() setter() functionality
- Copy-by-reference and 'self' mapping Null and empty quote source value exclusionBi-directional or one-way mapping
- String to date mapping
- Data type conversion like String to Integer Wrapper or String to primitive
- Class level mapping recursion and deep property mapping
- <buzzword>Spring integration</buzzword>
- Map backed property support
- 8X speed improvement over dozer 1.x