← Back to Stormify Documentation

Package-level declarations

Types

Link copied to clipboard
class Column

Represents a column in a PagedListBase — the unit of filtering and sorting.

Link copied to clipboard
data class FieldPath(val segments: List<String>)

Represents a field path through FK relationships, using dot notation.

Link copied to clipboard
data class FilterCountedValue(val value: String, val count: Long)

A distinct value for a column together with the row count of that value under the parent list's current filter state. Returned by FilterCountedValues.

Link copied to clipboard

A lazy-loading paginated list of distinct values for a Column together with the row count of each value under the parent list's current filter state (excluding the owning column's own filter). Obtained via FilterValues.withCounts.

Link copied to clipboard

A lazy-loading paginated list of distinct string values for a Column.

Link copied to clipboard
abstract class FilterValuesBase<E> : AbstractList<E>

Shared base for FilterValues and FilterCountedValues. Holds the pagination state and the per-page buffer. Subclasses only implement loadPage to produce either String values or FilterCountedValue objects.

Link copied to clipboard
interface HumanReadable

Interface for entities or enum values that provide a localized, human-readable display name.

Link copied to clipboard

Transforms user filter input before it reaches the database — e.g. locale-aware number/date parsing. Resolution chain: Column.inputParserPagedListBase.inputParserPagedListBase.defaultInputParser → identity.

Link copied to clipboard

A multi-value aggregator built from a chain of aggregation requests over a PagedListBase. Each chain method adds another expression to the generated SELECT list. execute returns a Map<String, Any?> keyed by the alias of each added aggregation.

Link copied to clipboard

Entry point for the aggregation DSL on a PagedListBase.

PagedList
Link copied to clipboard

Column-based lazy paginated list view of entities of type T.

class PagedList<T : Any>(classType: KClass<T>) : PagedListBase<T>

Column-based lazy paginated list view of entities of type T.

Link copied to clipboard

Abstract base class for PagedList — contains the full column-based paginated-list implementation. Users do not instantiate this directly; use the platform-specific PagedList subclass instead (it provides language-idiomatic constructors for Kotlin and Java).

Link copied to clipboard

Sentinel sort-direction values for PagedListState.sorts entries. Declared outside PagedListState so the data class stays strictly plain data with no companion members that could confuse a naive reflection-based serializer.

Link copied to clipboard
data class PagedListState(val filters: Map<String, String> = emptyMap(), val sorts: Map<String, String> = emptyMap(), val caseSensitive: Map<String, Boolean> = emptyMap(), val pageSize: Int = 15, val isDistinct: Boolean = false)

Serializable snapshot of a PagedListBase's user-controllable state — the per-column filters, sorts, case-sensitivity flags, the page size and the distinct flag.

Link copied to clipboard
open class ReferencePath(val path: String)

Base class for annotation-processor-generated reference path nodes (e.g. AuditEntry_.modifiedBy). Each reference node carries the accumulated dot-notation path it represents — with a trailing . when further chaining through this node is still possible — and subclasses use that stored value to build the next path step when chaining into nested reference or scalar fields.

Link copied to clipboard
open class ScalarPath(val path: String)

A type-safe field path node representing a scalar (leaf) field. Generated by the annotation processor and used with PagedListBase.addColumn.

Link copied to clipboard
expect class SingleAggregator

A single-aggregation view on a PagedAggregator chain. Returned by each PagedAggregator builder method (the "one aggregate" case).

actual class SingleAggregator

JVM / Android actual of SingleAggregator. Adds a Java-friendly execute(Class<R>) overload on top of the common API so Java callers can write agg.sum(path).execute(BigDecimal.class).

actual class SingleAggregator

Native actual of SingleAggregator. Delegates to the shared SingleAggregatorCore with no platform-specific additions.

Link copied to clipboard

The sort direction of a Column.

Link copied to clipboard
fun interface SqlArgsCollector

Callback used by SqlGenerator implementations to stage a bind parameter for the generated SQL placeholder. Each call adds one ? value to the query in order.

Link copied to clipboard
fun interface SqlGenerator

Generates the SQL condition for a custom (raw) column's filter. Implementations receive the column expression and the user-typed filter value, and must return a SQL fragment (e.g. "col = ?"). Bind parameters are added via the SqlArgsCollector callback.

Functions

Link copied to clipboard
inline fun <R : Any> SingleAggregator.execute(): R?

Reified convenience over SingleAggregator.execute — keeps the Kotlin call sites (aggregator.sum(path).execute<BigDecimal>()) concise.

PagedList
Link copied to clipboard
inline fun <T : Any> PagedList(): PagedList<T>

Creates a new PagedList for the reified entity type T.

inline fun <T : Any> PagedList(): PagedList<T>

Creates a new PagedList for the reified entity type T.