All Projects → xmolecules → jmolecules-integrations

xmolecules / jmolecules-integrations

Licence: Apache-2.0 License
Technology integration for jMolecules

Programming Languages

java
68154 projects - #9 most used programming language

jMolecules — Technology integrations

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

Supported technologies

  • jmolecules-archunit — ArchUnit rules that verify the aggregate structures in your model.

  • jmolecules-bytebuddy — A ByteBuddy plugin to translate jMolecules patterns implemented in jmolecules-ddd into different technologies. See the 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.

  • 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<T> to be used with Spring Data repositories to easily resolve Association instances.

  • 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 -DscmReleaseCommitComment="$ticketId - Release version $version." -DscmDevelopmentCommitComment="$ticketId - Prepare next development iteration."

  • mvn release:perform

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].