All Classes and Interfaces
Class
Description
Test utilities to work with aggregates.
ModulithMetadata backed by a Modulithic annotated type.An annotation based target lookup strategy to enable caching of the function lookups that involve classpath checks.
Annotation to customize information of a 
Modulith module.An application module.
A collection wrapper for 
ApplicationModule.AllowedDependency instances.Describes a dependency explicitly declared as allowed for an 
ApplicationModule.The type of an application module
The materialized, in other words actually present, dependencies of the current module towards other modules.
A dependency between two 
ApplicationModules.Strategy interface to customize which packages are considered module base packages.
A factory for the 
ApplicationModuleDetectionStrategy to be used when scanning code for
 ApplicationModules.An identifier of an 
ApplicationModule.ApplicationModuleIdentifiers that allow iteration in the order provided by the sources.Abstraction for low-level module information.
Encapsulate creation logic for 
ApplicationModuleInformation instances.An 
ApplicationModuleInformation for the jMolecules Module annotation.An 
ApplicationModuleInformation that inspects the ApplicationModule annotation.An interface to be implemented by Spring components that are supposed to be initialized on
 
ApplicationStartedEvent.A 
BeanFactoryPostProcessor verifying that the spring-modulith-runtime artifact is on the classpath in
 case any beans implementing ApplicationModuleInitializer are found in the
 org.springframework.context.ApplicationContext.Deprecated, for removal: This API element is subject to removal in a future version.
since, 1.1.
An 
ApplicationModuleListener is an Async Spring TransactionalEventListener that runs in a
 transaction itself.An abstraction for the data captured in the application module metadata file (typically
 "META-INF/spring-modulith/application-modules.json").
A Spring Boot actuator endpoint to expose the application module structure of a Spring Modulith based application.
Auto-configuration for the 
ApplicationModulesEndpoint.Export the structure of 
ApplicationModules as JSON.Factory interface to create 
ApplicationModules instances for application classes.Renders the application module description JSON into a resource named
 "META-INF/spring-modulith/application-modules.json".
The source of an 
ApplicationModule.An intermediate abstraction to detect both the 
ApplicationModuleIdentifier and potentially nested module
 declarations for the JavaPackages returned from the first pass of module detection.Lookup of external 
ApplicationModuleSource contributions via ApplicationModuleSourceFactory
 implementations.SPI to allow build units contribute additional 
ApplicationModuleSources in the form of either declaring them
 directly via ApplicationModuleSourceFactory.getModuleBasePackages() and ApplicationModuleSourceFactory.getApplicationModuleSources(Function, boolean) or via
 provided ApplicationModuleSourceFactory.getRootPackages() and subsequent resolution via
 ApplicationModuleSourceFactory.getApplicationModuleSources(JavaPackage, ApplicationModuleDetectionStrategy, boolean) for each of the
 packages provided.Bootstrap type to make sure we only bootstrap the initialization of a 
ApplicationModules instance once per
 application class.Bootstraps the module containing the package of the test class annotated with 
ApplicationModuleTest.Abstraction of the application runtime environment.
A type that is architecturally relevant, i.e. it fulfills a significant role within the architecture.
Auto-configuration adding the current package as auto-configuration package for 
ArchivedJpaEventPublication
 to be included in the JPA setup.An AssertJ-based extension of 
PublishedEvents to obtain fluent assertions.A 
BrokerRouting supports RoutingTarget instances that contain values matching the format
 $target::$key for which both the target and key can be a SpEL expression.A 
BrokerRouting that evaluates a RoutingTarget's key as SpEL expression.Utilities to detect the build system used.
A set of 
Changes.Changes made to a Java project.A change to the local project.
A change in a Java source file.
A change in a Java test source file.
Some arbitrary file change.
A change to a source file.
Deprecated, for removal: This API element is subject to removal in a future version.
since 1.4, use Spring Framework's 
CheckReturnValue instead.A 
DocumentationSource that replaces {@code …} or {@link …} blocks into inline code
 referencesInternal interface to be able to mark 
TargetEventPublication instances as completed.All 
EventPublications that have already been completed.Different modes of event completion.
An 
Advisor to decorate TransactionalEventListener annotated methods to mark
 the previously registered event publications as completed on successful method execution.MethodInterceptor to trigger the completion of an event publication after a transaction event listener
 method has been completed successfully.An event listener that exposes whether it supports a particular event instance.
Represents all 
ConfigurationProperties.ConfigurationProperty instances found for the current project.A factory to create 
Counter.Builder instances for Counters eventually.Initializes the DB schema used to store events
Simple wrapper around a 
ResourceLoader to load database specific schema files from the classpath.A 
DomainEvent published on each day.Default implementation of 
AssertablePublishedEvents.Default implementation of 
EventExternalizationConfiguration.Default 
Completable implementation.A registry to capture event publications to 
ApplicationListeners.All 
TargetEventPublications currently processed.Default implementation of 
ModulithObservationConvention.Default implementation of 
PublishedEvents.An 
EventExternalizationSupport delegating to a BiFunction for the actual externalization.The type of dependency between 
ApplicationModules.Interface to abstract different ways of looking up documentation for code abstractions.
API to create documentation for 
ApplicationModules.Options to tweak the rendering of diagrams.
Different diagram styles.
Configuration setting to define whether modules that do not have a relationship to any other module shall be
 retained in the diagrams created.
ImportSelector to dynamically pick up configuration types from the classpath.Allows using 
Scenario as method parameter in integration tests.Auto-configuration to externalize application events.
Configuration for externalizing application events to messaging infrastructure.
API to define the event routing.
API to define which events are supposed to be selected for externalization.
Fundamental support for event externalization.
An infrastructure event signaling that an application event has been externalized with a particular, broker-specific
 result.
An event publication.
Fundamental configuration for the 
EventPublicationRegistry support.Fundamental configuration for the 
EventPublicationRegistry support.A registry to capture event publications to 
ApplicationListeners.Repository to store 
TargetEventPublications.A type that represents an event in a system.
Marks domain events as to be externalized.
SPI to plug different strategies of how to find the files currently modified in a project.
Wrapper around 
JavaClass that allows creating additional formatted names.A collection of 
Documenter.CanvasOptions.Groupings.jMolecules-related 
Documenter.CanvasOptions.Groupings.Spring Framework-related 
Documenter.CanvasOptions.Groupings.A 
DomainEvent published on each day.All uncompleted event publications.
Application configuration to register a Jackson-based 
EventSerializer.A Jackson-based 
EventSerializer.A 
Source backed by an ArchUnit JavaAccess.An abstraction of a Java package.
A collection of 
JavaPackages.Configuration properties for JDBC.
JDBC-based repository to store 
TargetEventPublications.Internal abstraction of customization options for 
JdbcEventPublicationRepository.Utility to contain re-used JGit operations.
Auto-configuration to set up a 
DelegatingEventExternalizer to externalize events to JMS.JPA entity to represent event publications.
Auto-configuration for JPA based event publication.
Repository to store 
TargetEventPublications.Helper to render a 
Map as JSON.Auto-configuration to set up a 
DelegatingEventExternalizer to externalize events to Kafka.Auto-configures Spring for Apache Kafka to use JSON as transport format by default.
SpanFilter that sets a local service name according to the current module's name.Metadata about a Java 
Method.An Exception carrying information about a missing runtime dependency to be analyzed by
 
MissingRuntimeDependencyFailureAnalyzer.A modified file.
MethodInterceptor to create Observations.A 
BeanPostProcessor that decorates beans exposed by application modules with an interceptor that registers
 module entry and exit to create tracing spans for those invocations.Ensures that 
ModulithObservations.LowKeys.MODULE_KEY gets propagated from parent to child.An unconditional auto-configuration registering an 
ImportBeanDefinitionRegistrar to customize both the entity
 scan and auto-configuration packages to the packages defined by the ModuleTestExecution in the application
 context.A 
TypeExcludeFilter that only selects types included in a ModuleTestExecution, i.e. from the modules
 included in a particular test run.Defines a Spring Boot application to follow the Modulith structuring conventions.
A 
Observation.Context for Modulithic applications.SPI to customize the 
Counter instances created for cross-module application
 events.Allows customizing the metrics creation, in particular the counters created for cross-application-module events.
JUnit Extension to optimize test execution based on which files have changed in a Spring Modulith project.
Defines a Spring Boot application to follow the Modulith structuring conventions.
Core metadata about the modulithic application.
ObservationConvention for ModulithContext.Core component to publish passage-of-time events.
Auto-configuration for 
Moments.Configuration properties for 
Moments.The granularity of events to publish.
A MongoDB Document to represent event publications.
Autoconfiguration for MongoDB event publication repository.
Repository to store 
TargetEventPublications in a MongoDB.Auto-configuration to enable MongoDB transaction management as that is required for the
 
EventPublicationRegistry to work properly.A 
DomainEvent published on the last day of the month.A named interface into an 
ApplicationModule.Annotation to mark a package as named interface of a 
ApplicationModule or assign a type to a named interface.A collection of 
NamedInterfaces.A builder API to manually construct 
NamedInterfaces instances.The event publication entity definition.
Auto-configuration to register a 
Neo4jEventPublicationRepository, a default Configuration and a
 Neo4jIndexInitializer if enabled.A 
Neo4jClient based implementation of EventPublicationRepository.Automatically creates an index on the 
Neo4jEventPublication.eventHash field.An abstraction of the current point in time and today.
Information about observed module.
Represents a type in an 
ObservedModule.An annotation to mark a type as an alternative to Java's native 
package-info.java.The name of a Java package.
An 
ApplicationEventMulticaster to register EventPublications in an
 EventPublicationRegistry so that potentially failing transactional event listeners can get re-invoked upon
 application restart or via a schedule.First-class collection to work with transactional event listeners, i.e.
Identifier for a publication target.
All Spring application events fired during the test execution.
All application events of a given type that were fired during a test execution.
AssertJ 
Assert for PublishedEvents.JUnit 5 
Extension for standalone usage without ApplicationModuleTest.Creates an instance of 
PublishedEvents or AssertablePublishedEvents depending on whether AssertJ is
 on the classpath or not.Provides instances of 
PublishedEvents as test method parameters.A logical 
Quarter of the year.A 
DomainEvent published once a quarter has passed.Auto-configuration to set up a 
DelegatingEventExternalizer to externalize events to RabbitMQ.Auto-configuration to configure 
RabbitTemplate to use the Jackson ObjectMapper present in the
 application.Implementation to get changes between HEAD and a complete or abbreviated SHA-1 or other revision, like
 
HEAD~2.A 
String-based routing target that supports a :: delimiter to separate the sole target from an
 additional key.A parsed routing target that can have null target and key values.
An intermediary to ultimately create 
RoutingTarget instances.A DSL to define integration testing scenarios for application modules.
A JUnit 
InvocationInterceptor to register a default customizer to be applied to all Scenario
 instances associated with that test case.JUnit 
ParameterResolver for Scenario.A quarter that can be shifted to start at a configurable 
Month.A 
Source of some type, bean definition etc.A Spring bean type.
ApplicationRuntime implementation based on an ApplicationContext and a class that's annotated with
 SpringBootApplication.Creates a new 
ModulithMetadata representing the defaults of Modulithic
 but without the annotation present.Auto-configuration to set up a 
DelegatingEventExternalizer to externalize events to a Spring Messaging
 MessageChannel.A 
DocumentationSource using metadata found in "generated-spring-modulith/javadoc.json", usually generated via
 spring-modulith-apt.An annotation processor to extract Javadoc from all compiled files assembling it into a JSON file located under
 
$target/generated-spring-modulith/javadoc.json.Auto-configuration to register an 
ApplicationRuntime, a ApplicationModulesRuntime and an
 ApplicationListener to invoke all ApplicationModuleInitializers as Spring Bean.Auto-configuration to react to ArchUnit missing on the runtime classpath.
Helper to make the composition of 
DescribedPredicates more readable.An event publication.
Utility methods to work with test 
ApplicationModules.Custom 
ApplicationModulesFactory to bootstrap an ApplicationModules instance only considering test
 code.Primary condition implementation that decides whether to run a test based on an 
TestExecutionCondition.ConditionContext.Extension of 
Moments to publicly expose methods to shift time.A 
BeanRegistrationAotProcessor processing beans for methods annotated with TransactionalEventListener
 to register those methods' parameter types for reflection as they will need to be serialized for the event
 publication registry.Metadata about a Java type.
Utility to deal with a variety of types.
Implementation to get latest local file changes.
 Find all changes that have not been pushed to the remote branch yet.
Options to customize application module verifications.
An individual architectural violation.
Value type to gather and report architectural violations.
A 
DomainEvent published if a week has passed.A 
FileModificationDetector that filters the ModifiedFile instances returned by a delegate
 FileModificationDetector to only contain those nested in the current, repository-relative working directory.A 
DomainEvent published on the last day of the year.