Package-level declarations
Types
Base class for entities that support lazy auto-population from the database.
Controls how a Kotlin property maps to a database column with advanced configuration options.
Marks a Kotlin class as mapping to a specific database table.
Compile-time metadata for a mapped entity class. Holds the class reference, a constructor lambda, property descriptors, and an optional table name override.
Functional interface for entity registration callbacks. Typically generated by the annotation processor (annproc) to register EntityMeta at startup.
Registry for enum classes, used by native targets where reflection is not available. On JVM, enum operations use reflection directly and this registry is not needed. On native, the annotation processor generates calls to register at startup.
Describes a single mapped field (property) of an entity, including its database column name, type, and role in CRUD operations.
Built-in naming policies for converting Kotlin property/class names to database column/table names.
Platform-specific big integer type. Maps to java.math.BigInteger on JVM and ionspin BigInteger on Native.
Maps to java.math.BigInteger on JVM.
Maps to ionspin com.ionspin.kotlin.bignum.integer.BigInteger on Native.
Describes a single property of an entity class, including its type, getter/setter lambdas, and database mapping overrides. Used by EntityMeta and the annotation processor.
SQL dialect definitions for different database systems.
The main ORM controller. Entry point for all database operations.
Base class for entities that carry a reference to the Stormify instance that loaded them. This allows entity-level operations (e.g. AutoTable.populate) to use the correct Stormify instance without requiring it as an explicit parameter.
Java-facing wrapper around Stormify. Exposes all CRUD, query, and transaction operations as idiomatic Java methods: takes Class<T> parameters (instead of Kotlin KClass<T>), returns Java collections, and accepts Consumer<T> / Runnable in place of Kotlin lambdas.
Cleanup facade for Stormify's library-wide shared state on the desktop / JVM target. Not available on Native, Android, or iOS / macOS — those platforms cannot encounter the problem this class is designed to solve, so it is intentionally absent from their APIs.
Context for executing database operations within a transaction.
Java-facing wrapper around a TransactionContext. Exposes all CRUD and query operations as idiomatic Java methods that take Class<T> parameters (instead of Kotlin KClass<T>) and Consumer<T> / Runnable instead of Kotlin function types.
Properties
Whether this value is a platform-specific primitive type (e.g. java.math.BigDecimal on JVM).
Whether this value is a platform-specific primitive type (e.g. java.math.BigDecimal on JVM).
Whether this value is a platform-specific primitive type (e.g. java.math.BigDecimal on JVM).
Functions
Executes this SQL string as an UPDATE/INSERT/DELETE and returns the number of affected rows.
Property delegate that lazy-loads child (detail) records on first access.
Type-safe variant of lazyDetails that accepts an annotation-processor-generated reference path (e.g. Paths.AuditEntry_.modifiedBy) instead of a magic string. The compiler guarantees that the referenced property actually exists on the child type, so typos and renames are caught at build time instead of first query execution.
Kotlin helper for an IN parameter. Equivalent to Sp.In(value). Note: raw values passed to procedure(...) are auto-wrapped as IN, so explicit wrapping is only needed for clarity or when the caller wants to differentiate an intended IN from a potential Sp instance being passed.
Creates a Stormify instance from an Android SQLiteDatabase.
Creates a Stormify instance from a JDBC DataSource.
Returns the default Stormify instance, or throws if none has been set.
Executes a block within a database transaction with automatic commit/rollback.