Interface ComponentInventory
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Provider discovery is a ServiceLoader scan, so which implementations are
actually installed is not a question a running program can otherwise answer — and
it is the first one any support conversation asks. A missing provider fails nothing a
compiler or a unit test can see; the packaged artifacts are smoke-tested for exactly
that reason, and this gives the same answer at runtime, from inside the process.
It is a seam because visibility decides who can answer. The engine
knows its own version and the function libraries it resolves against, because it holds
them. It cannot know which connectors, solvers or JDBC drivers are installed: those
live above it, and a JDBC driver is behind a java.sql dependency no engine
module is allowed to have. So whoever assembled the process contributes the rest, which
is the same division every other catalog seam here is drawn on.
The extent reaches a query as relix.version, because introspection has one
authority: the relix.* relations are the introspection API, and a Java
accessor beside them would be a second one to drift from.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordOne installed thing. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final StringKind tokens, so a producer and a reader spell them the same way.static final Stringstatic final Stringstatic final ComponentInventoryAn inventory that knows of nothing beyond what the engine itself reports.static final String -
Method Summary
Modifier and TypeMethodDescriptionReturns the components this host can see, in whatever order it reports them.static StringThe engine's own version, as the build stamped it.
-
Field Details
-
ENGINE
Kind tokens, so a producer and a reader spell them the same way.- See Also:
-
FACADE
- See Also:
-
FUNCTION_LIBRARY
- See Also:
-
CONNECTOR
- See Also:
-
SOLVER
- See Also:
-
DRIVER
- See Also:
-
NONE
An inventory that knows of nothing beyond what the engine itself reports.
-
-
Method Details
-
components
List<ComponentInventory.Component> components()Returns the components this host can see, in whatever order it reports them.- Returns:
- the components this host can see, in whatever order it reports them
-
engineVersion
The engine's own version, as the build stamped it.Read from a resource this module owns rather than from the module descriptor, because it has to be right in every packaging — including a plain class path, where a descriptor is not there to ask.
- Returns:
- the version, or
unknownif the resource is missing
-