Package-level declarations
This is the main package for the Viaduct Tenant API, containing the core interfaces and classes that tenants will use to implement their GraphQL schema behavior.
Types
Builder interface for dynamic output values.
Represents the value of a resolved GraphQL object field
Provides a custom implementation for mapping a data type to a Viaduct object type. Implementations should be registered using the service loader mechanism.
A base interface for dynamic provisioning of variable values. All implementations of VariablesProvider must be annotated with Variables.
Used in the tenant API and dependencies to indicate that an error is due to framework code and shouldn't be attributed to tenant code
Marker interface for exceptions that should be attributed to tenant code
Used to wrap non-framework exceptions that are thrown while executing tenant resolver code. This is tied to a specific tenant-written resolver.
Used in framework code to indicate that an error is due to invalid usage of the tenant API by tenant code.
Functions
Catches any exception thrown by resolveFn (which must be called via reflection) and wraps it in ViaductTenantResolverException unless it's a ViaductFrameworkException.