Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xmolecules/jmolecules-integrations

Technology integration for jMolecules
https://github.com/xmolecules/jmolecules-integrations

Last synced: about 2 months ago
JSON representation

Technology integration for jMolecules

Awesome Lists containing this project

README

        

= jMolecules -- Technology integrations

This repository contains a variety of integrations of jMolecules abstractions into different technologies.

== Supported technologies
* link:jmolecules-archunit[`jmolecules-archunit`] -- ArchUnit rules that verify the aggregate structures in your model.
* link:jmolecules-bytebuddy[`jmolecules-bytebuddy`] -- A ByteBuddy plugin to translate jMolecules patterns implemented in `jmolecules-ddd` into different technologies. See the link:https://github.com/xmolecules/jmolecules-examples/tree/main/jmolecules-spring-data-jpa[example] for details.
** Spring -- translates jMolecules annotations like `@Service` etc. into the Spring equivalents so that the annotated classes can be used out of the box with Spring.
** JPA -- translates `jmolecules-ddd` annotations and interfaces into default mapping annotations and boilerplate code required by JPA.
* link:jmolecules-spring[`jmolecules-spring`] -- Runtime library to make concepts from `jmolecules-ddd` work with Spring out of the box.
** `Converter` implementations that convert primitives (`String`, `UUID`) into `Identifier` implementations if they expose a static factory method `of(…)` and back into their inner value by calling the corresponding getter.
** Spring Boot auto-configuration to transparently register those converters in Spring MVC applications.
** `AssociationResolver` to be used with Spring Data repositories to easily resolve `Association` instances.
* link:jmolecules-jackson[`jmolecules-jackson`] -- Runtime library to make concepts from `jmolecules-ddd` work with Jackson out of the box.
** A Jackson module to tweak the serialization of single attribute `@ValueObject` and `Identifier` instances to (de)serializes (from) as their wrapped instances.
** Spring Boot auto-configuration to transparently register the module with Jackson in Spring Boot applications.

== Developer information

=== Release instructions

* `mvn release:prepare \
-DreleaseVersion="$version" \
-DdevelopmentVersion="$versionNext" \
-DscmReleaseCommitComment="$ticketId - Release version $version." \
-DscmDevelopmentCommitComment="$ticketId - Prepare next development iteration." \
-Dtag="$version"`
* `mvn release:perform`