Facet
A facet is a named, user-facing filter/sort slot exposed by a PagedList or PagedQuery. It is the only point of interaction between the outside world and the underlying query — the facet's alias is the opaque public identifier, and SQL paths / expressions behind it are kept internal.
A facet can reference one or more entity field paths (OR-combined during filtering) or a raw SQL expression. Filtering between different facets uses AND logic; filtering between multiple fields on the same facet uses OR.
Facets are defined at setup time via PagedList.addFacet / PagedList.addSqlFacet (or their PagedQuery equivalents). After setup, UI consumers toggle filter / sort per facet; REST consumers pass the same information through PageSpec by alias.
Types
Properties
Custom converter for this facet's filter. When null (the default), the engine uses its built-in converter for the facet's type (e.g., boolean text query with LIKE for Type.TEXT, comparison parsing for Type.NUMERIC, …).
Parser that transforms user input before it reaches the database. Used for locale-aware parsing of numbers, dates, etc.
Whether the filter is case-sensitive. Only relevant for Type.TEXT facets. Default is false (case-insensitive).
Whether this facet accepts a filter. When false, attempting to set filter throws. Defaults to true.
Whether this facet accepts a sort direction. When false, attempting to set sort throws. Defaults to true.