Builder

What a host gives the engine of manifest, each from its configuration or the application: the contexts the node hosts, the backends of the models, the schema sources and masks, the tenant options, the application's policies, filters and observers, the count caches and how events are read.

Constructors

Link copied to clipboard
constructor(manifest: Manifest)

Functions

Link copied to clipboard
fun accessPolicies(policies: List<AccessPolicy<*>>, aggregatesOf: (Class<*>) -> List<AggregateType>, strict: Boolean = true): QueryEngine.Builder

The access policies of the node's aggregates (the service's AccessPolicy beans), each of the aggregate aggregatesOf gives for its state type, the types whose state is of that class. strict when the node hosts every context of the service: a policy of no aggregate of the node is then refused, rather than left to the node hosting its aggregate. build checks them against the Manifest (AccessPolicies.of).

Link copied to clipboard
Link copied to clipboard

The bulkhead of the store each aggregate type's model (snapshots or events) is queried on, one instance per store, null for none: the queries of every model on one store share it; for QueryModel.DATASET, the one the queries of the dataset of that name run under.

Link copied to clipboard

The contexts the node hosts: every context of the Manifest by default.

Link copied to clipboard

The count caches of the snapshot and the events gateways; none by default.

Link copied to clipboard

Whether a caller that may act across scopes may query across tenants (wow.query.allow-cross-tenant); off by default.

Link copied to clipboard

The datasets and their backend; without one, no dataset is served.

Link copied to clipboard

Which datasets a caller sees; by default, by scope (DatasetVisibility.DEFAULT).

Link copied to clipboard

The entry gates and the in-process timeout.

Link copied to clipboard

The events query backend of each aggregate type, none for a type it does not serve.

Link copied to clipboard

The application's query filters.

Link copied to clipboard

The payload masks of states and events; by default the Manifest's, with the maskStrategies.

Link copied to clipboard

The mask strategies the schemas and payload masks resolve.

Link copied to clipboard

The application's query observers, beside the query log.

Link copied to clipboard

Wow's own query policies, after the scope one.

Link copied to clipboard

Who may read each model at all (ReadAuthorizer), all of authorizers asked in their order: once per query, state read and trace, before anything is read. None by default: every caller may read, the rows still the access policies' and the default rule's.

Link copied to clipboard

How each aggregate type's events are read: as its model reads them now.

Link copied to clipboard

The schema sources beyond the Manifest's state schemas, the application's.

Link copied to clipboard

Whether a filter or sort may compare a DISPLAY value.

Link copied to clipboard

The snapshot query backend, serving the snapshots of each type serves says (every type by default).

Link copied to clipboard

The tenant a caller queries an aggregate type in.

Link copied to clipboard

Whether each aggregate type's events queries that name no aggregate run (UnpinnedEvents.ALLOW by default).