Page Spec
Per-request specification passed to PagedQuery.execute and friends. Describes the filters, sorts, case-sensitivity flags and pagination the caller wants for this single query. Keys in the map fields are facet aliases (see Facet.alias); any alias not present in the map contributes nothing to the generated SQL.
All fields are plain data so a spec can be round-tripped through any serialization framework — JSON, Parcelable, Kotlinx Serialization — and handed to the engine unchanged.
Construction
Two constructors are provided:
Paginated —
PageSpec(page, pageSize, filters?, sorts?, cs?). Use for PagedQuery.execute / PagedQuery.filterValues where page and pageSize control which slice is returned.Non-paginated —
PageSpec(filters?, sorts?, cs?). Equivalent toPageSpec(0, 15, ...). Use for PagedQuery.forEachStreaming / PagedQuery.getAggregator where pagination is ignored.
Both constructors have @JvmOverloads so Java callers can omit trailing arguments in either form.
Constructors
Non-paginated spec constructor. Delegates to the paginated form with page = 0, pageSize = 15. The pagination defaults are ignored by use cases that do not paginate (PagedQuery.forEachStreaming, PagedQuery.getAggregator); for paginated callers that accept defaults, they represent "first page, 15 rows".