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
ApplicationModule
s.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
.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.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
referencesInternal interface to be able to mark
TargetEventPublication
instances as completed.All
EventPublication
s 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
ApplicationListener
s.Default implementation of
PublishedEvents
.An
EventExternalizationSupport
delegating to a BiConsumer
for the actual externalization.The type of dependency between
ApplicationModule
s.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 event publication.
Fundamental configuration for the
EventPublicationRegistry
support.Fundamental configuration for the
EventPublicationRegistry
support.A registry to capture event publications to
ApplicationListener
s.Repository to store
TargetEventPublication
s.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.A collection of
Documenter.CanvasOptions.Grouping
s.jMolecules-related
Documenter.CanvasOptions.Grouping
s.Spring Framework-related
Documenter.CanvasOptions.Grouping
s.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
TargetEventPublication
s.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
TargetEventPublication
s.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
TargetEventPublication
s 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
NamedInterface
s.Represents a type in an
ObservedModule
.An
ApplicationEventMulticaster
to register EventPublication
s 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
.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 ApplicationModuleInitializer
s as Spring Bean.Auto-configuration to react to ArchUnit missing on the runtime classpath.
An event publication.
Utility methods to work with test
ApplicationModules
.Extension of
Moments
to publicly expose methods to shift time.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.