DatumQueryMatcher class abstract final

In-memory evaluation of a DatumQuery against entities and raw maps.

This is the reference query engine used by adapters that do not push filtering down to a native store (e.g. InMemoryLocalAdapter, the Hive adapter). It supports every FilterOperator, composite AND/OR filters, multi-key sorting with null ordering, and offset/limit pagination.

Adapters backed by SQL should instead translate the query with DatumQuerySqlConverter and let the database do the work.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

apply<T extends DatumEntityInterface>(List<T> items, DatumQuery query) → List<T>
Applies query's filters, sorting, offset and limit to items.
applyToMaps(List<Map<String, dynamic>> rows, DatumQuery query) → List<Map<String, dynamic>>
Applies query to a list of raw maps (used when an adapter stores rows as Map<String, dynamic> rather than entity instances).
matchesMap(Map<String, dynamic> json, DatumQuery query) → bool
Returns whether a single serialized json row satisfies query's root filters (combined using the query's DatumQuery.logicalOperator).