Interface WalkProvider
public interface WalkProvider
A named factory for the shared
ArtifactWalk, discovered at runtime with ServiceLoader - the API is
an SPI kept separate from its implementation, so the enumeration strategy can change without breaking a consumer.
An exclusive SPI: jenesis.repository.walk=<name> selects one implementation by name; nothing set takes the
first enabled implementation in discovery order (the store reference implementation when its module is on
the graph). Each provider reads its own settings through the config lookup (a property accessor returning
null when unset - jenesis.walk.checkpoint, jenesis.walk.segments, ... for the reference
implementation). With no module installed resolve(UnaryOperator) is empty and installed() is the capability
signal: every walk-riding surface then degrades gracefully - nothing enumerates, and the console / capabilities
say so - exactly like retention with no retention provider.-
Method Summary
Modifier and TypeMethodDescriptioncreate(UnaryOperator<String> config) Build the walk, reading settings throughconfig; empty when configured off.static booleanWhether an enabled walk implementation is installed - the capability signal a console or a walk-riding maintenance surface gates on; without one nothing ever enumerates.name()The implementation name this provider answers to, e.g.The config keys this implementation cannot run without; empty (the default) for one that needs nothing.static Optional<ArtifactWalk> resolve(UnaryOperator<String> config) The first enabled walk discovered viaServiceLoader(an exclusive SPI: an explicitjenesis.repository.walk=<name>selects one by name, ajenesis.repository.<name>=falseskips one,Features), or empty when none answers - the degrade-gracefully signal, nevernull.
-
Method Details
-
name
String name()The implementation name this provider answers to, e.g.store. -
create
Build the walk, reading settings throughconfig; empty when configured off. -
requiredConfig
-
installed
static boolean installed()Whether an enabled walk implementation is installed - the capability signal a console or a walk-riding maintenance surface gates on; without one nothing ever enumerates. -
resolve
The first enabled walk discovered viaServiceLoader(an exclusive SPI: an explicitjenesis.repository.walk=<name>selects one by name, ajenesis.repository.<name>=falseskips one,Features), or empty when none answers - the degrade-gracefully signal, nevernull.
-