* Keep their code clean by keeping the validation of their domain inside the domain - the factory methods
* Register the validation exceptions and report them aggregated upon deserialization
* Stay independent of the final format of the serialization (YAML/JSON/XML)
Highlighted features of MapMate are:
* Using the Objects the same way the user would use them, which means:
neither reading nor writing private fields
no writing values into final fields
no invocation of private methods
no generation of dynamic proxies
no annotations polluting domain
* Support for validating domain objects
registration of validation exceptions
aggregation of them into logical error messages
detection of redundant validation exceptions
* Non-intrusive usage and configuration
MapMate instance can be configured in a single place and offers detection of Custom Primitives and Serialized Objects without the use of annotations
control over conventions for detection of Custom Primitives and Serialized Objects
no dependencies (direct or conventional) to the (de)serialization and validation frameworks
* High level of customization
MapMate is highly configurable, allowing configuration for whitelisting and blacklisting packages and/or classes the detection mechanism of Custom Primitives and Serialized Objects manual definition of Custom Primitives and Serialized Objects customizing the Validation Errors.