MapMaid
MapMaid serializes, deserializes and validates Java objects in a clean and non-invasive way. It deeply understands and respects the concepts of Domain-Driven Design.
Rationale
Almost any modern application nowadays is dealing with mapping incoming requests to domain objects and outputting resulting domain objects to a specific format (typically JSON, XML or YAML).
As a result, we keep writing the same code over and over again:
- Parse strings into domain objects
- Validate the objects on initialization
- Process the requests
- Serialize the response objects
While there are numerous frameworks that help you on some of the stages of this process, we believe there is a need for a simple, non-invasive library that would allow you to integrate this process into your application seamlessly and concentrate on your business logic.
Highlighted features
-
Designed for Domain-Driven Design:
- MapMaid automatically understands factory methods
- MapMaid understands the concept of Custom Primitives or Value Types
- MapMaid understands the concept of Serialized Objects
-
No Magic - MapMaid is using your objects the same way as a programmer:
- MapMaid will not read nor write private fields
- MapMaid will not write values into final fields
- MapMaid will not invoke private methods
- MapMaid will not generate dynamic proxies
- MapMaid will not generate bytecode
- MapMaid does not favour the use of annotations
-
Domain-Driven Validation:
- MapMaid allows you to check for validation exceptions and aggregates them accordingly
- You will know precisely which field of which object was faulty
- MapMaid also offers ways to detect redundant validation exceptions
-
Non-intrusive usage and configuration:
- Configuration in one place
- No annotations
- Simple adaptation to your specific style of defining objects
- No dependencies to serialization and validation frameworks in your domain code
-
Flexible:
- Support for all common data formats (JSON, XML and YAML)
- Serialize and deserialize any object of any class - no matter how weird their structure
Getting started
MapMaid is part of the QuantumMaid framework which provides easy-to-follow and interesting tutorials.
The MapMaid documentation can be found here.
Get in touch
Feel free to join us on Slack or Gitter to ask questions, give feedback or just discuss software architecture with the team behind MapMaid. Also, don't forget to visit our website and follow us on Twitter!