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.DeclaredDependency instances.
 
 
The materialized, in other words actually present, dependencies of the current module towards other modules.
A dependency between two ApplicationModules.
Default implementations of ApplicationModuleDetectionStrategy.
Strategy interface to customize which packages are considered module base packages.
Abstraction for low-level module information.
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.
 
 
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.
Renders the application module description JSON into a resource named "META-INF/spring-modulith/application-modules.json".
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.
 
 
 
 
 
 
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 the key can actually be a SpEL expression.
A BrokerRouting that evaluates a RoutingTarget's key as SpEL expression.
 
A DocumentationSource that replaces {@code …} or {@link …} blocks into inline code references
Internal interface to be able to mark TargetEventPublication instances as completed.
All EventPublications that have already been completed.
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.
 
 
Initializes the DB schema used to store events
 
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.
 
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.
Wrapper around JavaClass that allows creating additional formatted names.
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.
 
JDBC-based repository to store TargetEventPublications.
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.
An Exception carrying information about a missing runtime dependency to be analyzed by MissingRuntimeDependencyFailureAnalyzer.
 
 
 
 
 
Brave-specific auto configuration.
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 BeanPostProcessor that decorates beans exposed by application modules with an interceptor that registers module entry and exit to create tracing spans for those invocations.
 
 
Defines a Spring Boot application to follow the Modulith structuring conventions.
Defines a Spring Boot application to follow the Modulith structuring conventions.
 
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.
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.
 
Represents a type in an ObservedModule.
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.
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.
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.
Auto-configuration to set up a DelegatingEventExternalizer to externalize events to SNS.
A Source of some type, bean definition etc.
A DocumentationSource that uses metadata generated by Spring Auto REST Docs' Javadoc Doclet.
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 register a SpringBootApplicationRuntime, a ApplicationModulesRuntime and an ApplicationListener to invoke all ApplicationModuleInitializers as Spring Bean.
Auto-configuration to react to ArchUnit missing on the runtime classpath.
Auto-configuration to set up a DelegatingEventExternalizer to externalize events to SQS.
An event publication.
Utility methods to work with test ApplicationModules.
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.
 
 
 
 
 
 
Value type to gather and report architectural violations.
A DomainEvent published if a week has passed.
A DomainEvent published on the last day of the year.