Package org.springframework.modulith.core
@NonNullApi
package org.springframework.modulith.core
Core, internal abstractions of Spring Modulith.
-
ClassDescription
ModulithMetadata
backed by aModulithic
annotated type.An application module.A collection wrapper forApplicationModule.DeclaredDependency
instances.The materialized, in other words actually present, dependencies of the current module towards other modules.A dependency between twoApplicationModule
s.Strategy interface to customize which packages are considered module base packages.A factory for theApplicationModuleDetectionStrategy
to be used when scanning code forApplicationModule
s.An identifier of anApplicationModule
.Abstraction for low-level module information.AnApplicationModuleInformation
for the jMoleculesModule
annotation.AnApplicationModuleInformation
that inspects theApplicationModule
annotation.Factory interface to createApplicationModules
instances for application classes.The source of anApplicationModule
.An intermediate abstraction to detect both theApplicationModuleIdentifier
and potentially nested module declarations for theJavaPackage
s returned from the first pass of module detection.Lookup of externalApplicationModuleSource
contributions viaApplicationModuleSourceFactory
implementations.SPI to allow build units contribute additionalApplicationModuleSource
s in the form of either declaring them directly viaApplicationModuleSourceFactory.getModuleBasePackages()
andApplicationModuleSourceFactory.getApplicationModuleSources(Function, boolean)
or via providedApplicationModuleSourceFactory.getRootPackages()
and subsequent resolution viaApplicationModuleSourceFactory.getApplicationModuleSources(JavaPackage, ApplicationModuleDetectionStrategy, boolean)
for each of the packages provided.A type that is architecturally relevant, i.e. it fulfills a significant role within the architecture.The type of dependency betweenApplicationModule
s.A type that represents an event in a system.Deprecated.Wrapper aroundJavaClass
that allows creating additional formatted names.ASource
backed by an ArchUnitJavaAccess
.An abstraction of a Java package.A collection ofJavaPackage
s.Core metadata about the modulithic application.A named interface into anApplicationModule
.A collection ofNamedInterface
s.The name of a Java package.ASource
of some type, bean definition etc.A Spring bean type.Creates a newModulithMetadata
representing the defaults ofModulithic
but without the annotation present.Helper to make the composition ofDescribedPredicate
s more readable.Utility to deal with a variety of types.Value type to gather and report architectural violations.
FormattableType
instead.