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).