= 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 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.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 \ -DreleaseVersion="$version" \ -DdevelopmentVersion="$versionNext" \ -DscmReleaseCommitComment="$ticketId - Release version $version." \ -DscmDevelopmentCommitComment="$ticketId - Prepare next development iteration." \ -Dtag="$version"
mvn release:perform