AbstractQueryGateway

abstract class AbstractQueryGateway<R : Any>(val namedAggregate: NamedAggregate, backend: QueryBackend, schemaProvider: QueryModelSchemaProvider, targetType: JavaType, filters: List<QueryFilter>, filterType: KClass<*>, policies: List<QueryPolicy>, observer: QueryObserver, val entryPolicy: QueryEntryPolicy = QueryEntryPolicy.DEFAULT) : QueryGateway<R>

Inheritors

Constructors

Link copied to clipboard
constructor(namedAggregate: NamedAggregate, backend: QueryBackend, schemaProvider: QueryModelSchemaProvider, targetType: JavaType, filters: List<QueryFilter>, filterType: KClass<*>, policies: List<QueryPolicy>, observer: QueryObserver, entryPolicy: QueryEntryPolicy = QueryEntryPolicy.DEFAULT)

Properties

Link copied to clipboard

The entry policy this gateway admits every query under: the one source of each entry's budget.

Link copied to clipboard
open override val namedAggregate: NamedAggregate

Functions

Link copied to clipboard
open override fun aggregate(query: AggregationQuery): Flux<ObjectNode>
Link copied to clipboard
open override fun count(filter: FilterExpression): Mono<Long>
Link copied to clipboard
open override fun cursor(query: ICursorQuery): Mono<CursorPage<R>>
Link copied to clipboard
open override fun describe(entry: QueryEntry, defaultListSize: Int? = null): Mono<QueryModelDescriptor>

How this model can be queried on entry (design §7): the capability descriptor of the schema this gateway admits against, under the budget entryPolicy gives entry. defaultListSize is the list size the entry's adapter applies when a list query sends none, or null.

Link copied to clipboard
open override fun dynamicCursor(query: ICursorQuery): Mono<CursorPage<ObjectNode>>
Link copied to clipboard
open override fun dynamicList(query: IListQuery): Flux<ObjectNode>
Link copied to clipboard
open override fun dynamicPaged(query: IPagedQuery): Mono<PagedList<ObjectNode>>
Link copied to clipboard
open override fun dynamicSingle(query: ISingleQuery): Mono<ObjectNode>
Link copied to clipboard
open override fun list(query: IListQuery): Flux<R>
Link copied to clipboard
open override fun paged(query: IPagedQuery): Mono<PagedList<R>>
Link copied to clipboard
open override fun single(query: ISingleQuery): Mono<R>