public final class MetadataLoader
extends java.lang.Object
ServiceLoader, validates each module in isolation, and produces a single composite
FlamingockMetadata for the runner to consume.
Each module's annotation processor generates a FlamingockMetadataProvider
implementation registered in META-INF/services/. loadAggregated() reads
each provider's metadata file, applies per-module checks (strict-stage-mapping orphan
gate, single builder provider across modules), then aggregates pipelines, properties, and
the builder provider into one composite. Multi-module concerns live entirely here, so
downstream callers (CoreConfiguration, SpringbootProperties, the CLI entry
point) keep their single-FlamingockMetadata contract.
| Modifier and Type | Method and Description |
|---|---|
static FlamingockMetadata |
loadAggregated()
Discover all modules on the classpath, run per-module validation, and aggregate into a
single composite
FlamingockMetadata. |
static java.util.List<FlamingockMetadata> |
loadAll()
Per-module metadata list.
|
public static java.util.List<FlamingockMetadata> loadAll()
loadAggregated().public static FlamingockMetadata loadAggregated()
FlamingockMetadata. The composite is a "runtime view" with
orphans/strict/pipelineFile null'd because they have already been enforced.java.lang.RuntimeException - when no providers are registered (no Flamingock-aware module on
the classpath) — the typical user error of "did you add the
processor as an annotation processor?".