QueryDatasetProvider

A dataset backend (the ClickHouse one, say): the QueryBindings of the datasets it serves, opened from its settings and the application's resources. The host finds it with ServiceLoader (META-INF/services) and opens the one that is available; with several it refuses the start, naming them, and an application's own QueryBindings<QueryDataset> bean takes the place of any.

Properties

Link copied to clipboard

Every setting it reads from its QueryDatasetConfig.options, each read through its option, for the host to bind and check (wow.<type>.<key>); a dataset backend has no instances of its own, so it reads a ProviderOption.Scope.PER_STORE option as one of its type.

Link copied to clipboard
abstract val type: String

The type of the backend: lowercase, its settings' prefix (wow.<type>.*).

Functions

Link copied to clipboard
abstract fun available(config: QueryDatasetConfig): Boolean

Whether config lets it serve datasets: its resources are there and its settings do not switch it off.

Link copied to clipboard

The bindings of the datasets it serves, over config. Bindings that hold resources of their own, a client the provider opened say, are AutoCloseable: the host closes them when the node stops. What they use of the application's resources they never close.