public interface FlamingockMetadataProvider
Each module's annotation processor generates an implementation of this interface and
declares it in META-INF/services/io.flamingock.internal.common.core.metadata
.FlamingockMetadataProvider. At runtime the MetadataLoader discovers all providers
via ServiceLoader and aggregates each module's metadata file into a single
composite FlamingockMetadata consumed by the runner.
Providers are stateless: they only advertise the resource path of the metadata file they own. The path is module-unique (suffixed at compile time) so multiple modules can coexist on the same classpath without colliding.
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getMetadataResourcePath() |
default java.lang.String |
getReflectClassesResourcePath() |
java.lang.String getMetadataResourcePath()
FlamingockMetadata JSON file lives, e.g.
"META-INF/flamingock/metadata_a1b2c3d4.json". Loaders use this with
ClassLoader.getResourceAsStream(String).default java.lang.String getReflectClassesResourcePath()
getMetadataResourcePath() by replacing the metadata_ segment
with reflection-classes_ and the .json extension with
.txt. Generated providers may override if their layout differs.