DynamicWhere.ex
DynamicWhere.exv2.1.0·docs

Enums

DynamicWhere.ex is configured almost entirely through eight enums. They describe what a value is, how to compare it, how to combine conditions, and how to tune the internal reflection cache. Every JSON shape you send from the front-end is some combination of these.

Overview

The eight enums fall into three families: query (describes the filter expression), shape (describes the result shape), and cache (tunes the reflection cache).

EnumFamilyPurpose
DataTypeQueryLogical type of a condition value — drives parsing, coercion, and the set of legal operators.
OperatorQueryThe comparison applied by a condition — 28 operators covering equality, text matching, ranges, sets, and null checks.
ConnectorQueryThe logical glue (And / Or) that joins sibling conditions inside a ConditionGroup.
DirectionShapeSort direction (Ascending / Descending) for an OrderBy.
IntersectionShapeThe set operation (Union / Intersect / Except) applied between condition sets in a Segment.
AggregatorShapeAggregation function (Count, Sumation, Average, Minimum, Maximum, and friends) used inside a GroupBy.
CacheEvictionStrategyCacheEviction algorithm for the reflection cache — FIFO, LRU (default), or LFU.
CacheMemoryTypeCacheIdentifies one of the three internal cache stores for monitoring and clearing operations.

Namespace

All query and shape enums live in DynamicWhere.ex.Enums. Cache enums live in DynamicWhere.ex.Optimization.Cache.Config.

Note
Every enum sub-page lists every value from the source of truth — no abbreviation. Use the table above as a quick map, then dive into the page you need.

Where to go next

  • DataType → what each logical type means and which operators it accepts.
  • Operator → the full operator matrix and the value count each one requires.
  • Condition class → how the enums fit together inside a single filter predicate.