{"id":19562434,"url":"https://github.com/quantummaid/mapmaid","last_synced_at":"2025-04-27T00:31:37.432Z","repository":{"id":37270448,"uuid":"228895012","full_name":"quantummaid/mapmaid","owner":"quantummaid","description":"MapMaid serializes, deserializes and validates Java objects in a clean and non-invasive way.","archived":false,"fork":false,"pushed_at":"2022-12-14T20:53:55.000Z","size":2361,"stargazers_count":6,"open_issues_count":29,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T18:47:23.418Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://quantummaid.de","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/quantummaid.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-18T18:01:43.000Z","updated_at":"2025-03-07T08:39:23.000Z","dependencies_parsed_at":"2023-01-29T01:01:46.773Z","dependency_job_id":null,"html_url":"https://github.com/quantummaid/mapmaid","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantummaid%2Fmapmaid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantummaid%2Fmapmaid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantummaid%2Fmapmaid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quantummaid%2Fmapmaid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quantummaid","download_url":"https://codeload.github.com/quantummaid/mapmaid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251072279,"owners_count":21532004,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T05:14:31.376Z","updated_at":"2025-04-27T00:31:36.818Z","avatar_url":"https://github.com/quantummaid.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3873/badge)](https://bestpractices.coreinfrastructure.org/projects/3873)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=de.quantummaid.mapmaid%3Amapmaid-parent\u0026metric=sqale_rating)](https://sonarcloud.io/dashboard?id=de.quantummaid.mapmaid%3Amapmaid-parent)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=de.quantummaid.mapmaid%3Amapmaid-parent\u0026metric=reliability_rating)](https://sonarcloud.io/dashboard?id=de.quantummaid.mapmaid%3Amapmaid-parent)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=de.quantummaid.mapmaid%3Amapmaid-parent\u0026metric=security_rating)](https://sonarcloud.io/dashboard?id=de.quantummaid.mapmaid%3Amapmaid-parent)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=de.quantummaid.mapmaid%3Amapmaid-parent\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=de.quantummaid.mapmaid%3Amapmaid-parent)\n[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=de.quantummaid.mapmaid%3Amapmaid-parent\u0026metric=bugs)](https://sonarcloud.io/dashboard?id=de.quantummaid.mapmaid%3Amapmaid-parent)\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=de.quantummaid.mapmaid%3Amapmaid-parent\u0026metric=code_smells)](https://sonarcloud.io/dashboard?id=de.quantummaid.mapmaid%3Amapmaid-parent)\n[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=de.quantummaid.mapmaid%3Amapmaid-parent\u0026metric=sqale_index)](https://sonarcloud.io/dashboard?id=de.quantummaid.mapmaid%3Amapmaid-parent)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=de.quantummaid.mapmaid%3Amapmaid-parent\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=de.quantummaid.mapmaid%3Amapmaid-parent)\n[![Last Commit](https://img.shields.io/github/last-commit/quantummaid/mapmaid)](https://github.com/quantummaid/mapmaid)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/de.quantummaid.mapmaid/core/badge.svg)](https://maven-badges.herokuapp.com/maven-central/de.quantummaid.mapmaid/core)\n[![Code Size](https://img.shields.io/github/languages/code-size/quantummaid/mapmaid)](https://github.com/quantummaid/mapmaid)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Slack](https://img.shields.io/badge/chat%20on-Slack-brightgreen)](https://join.slack.com/t/quantummaid/shared_invite/zt-cx5qd605-vG10I~WazfgH9WOnXMzl3Q)\n[![Gitter](https://img.shields.io/badge/chat%20on-Gitter-brightgreen)](https://gitter.im/quantum-maid-framework/community)\n[![Twitter](https://img.shields.io/twitter/follow/quantummaid)](https://twitter.com/quantummaid)\n\n\n\u003cimg src=\"mapmaid_logo.png\" align=\"left\"/\u003e\n\n# MapMaid\nMapMaid serializes, deserializes and validates Java objects in a clean and non-invasive way.\nIt deeply understands and respects the concepts of Domain-Driven Design.\n\n## Rationale\n\nAlmost any modern application nowadays is dealing with mapping incoming requests to domain objects and \noutputting resulting domain objects to a specific format (typically JSON, XML or YAML). \n\nAs a result, we keep writing the same code over and over again:\n* Parse strings into domain objects\n* Validate the objects on initialization \n* Process the requests \n* Serialize the response objects\n \nWhile there are numerous frameworks that help you on some of the stages of this process, we believe there is a need for a simple,\n non-invasive library that would allow you to integrate this process into your application seamlessly and concentrate on \n your business logic.\n\n## Highlighted features \n\n - **Designed for Domain-Driven Design**:\n    - MapMaid automatically understands factory methods\n    - MapMaid understands the concept of **Custom Primitives** or **Value Types**\n    - MapMaid understands the concept of **Serialized Objects**\n\n -  **No Magic** - MapMaid is using your objects the same way as a programmer:\n    - MapMaid will not read nor write private fields\n    - MapMaid will not write values into final fields \n    - MapMaid will not invoke private methods\n    - MapMaid will not generate dynamic proxies\n    - MapMaid will not generate bytecode\n    - MapMaid does not favour the use of annotations\n \n - **Domain-Driven Validation**:\n    - MapMaid allows you to check for validation exceptions and aggregates them accordingly\n    - You will know precisely which field of which object was faulty\n    - MapMaid also offers ways to detect redundant validation exceptions\n    \n - **Non-intrusive usage and configuration:**\n    - Configuration in one place\n    - No annotations \n    - Simple adaptation to your specific style of defining objects\n    - No dependencies to serialization and validation frameworks in your domain code\n    \n  - **Flexible:**\n    - Support for all common data formats (JSON, XML and YAML)\n    - Serialize and deserialize any object of any class - no matter how weird their structure    \n\n## Getting started\nMapMaid is part of the QuantumMaid framework which provides [easy-to-follow and\ninteresting tutorials](https://github.com/quantummaid/quantummaid-tutorials/blob/master/README.md).\n\nThe MapMaid documentation can be found [here](https://quantummaid.de/docs.html).\n\n## Get in touch\nFeel free to join us on [Slack](https://join.slack.com/t/quantummaid/shared_invite/zt-cx5qd605-vG10I~WazfgH9WOnXMzl3Q)\nor [Gitter](https://gitter.im/quantum-maid-framework/community) to ask questions, give feedback or just discuss software\narchitecture with the team behind MapMaid. Also, don't forget to visit our [website](https://quantummaid.de) and follow\nus on [Twitter](https://twitter.com/quantummaid)!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquantummaid%2Fmapmaid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquantummaid%2Fmapmaid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquantummaid%2Fmapmaid/lists"}