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.
Entry point for Stormify from Java code. Provides CRUD operations, raw SQL queries, stored procedure calls, and transaction management against a javax.sql.DataSource.
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.
Scope of an active database transaction. Provides CRUD operations, raw SQL queries, stored procedure calls, and nested transactions; every operation runs on the same connection and participates in the same transaction.
Controls how Stormify reacts when a ResultSet column has no matching field on the target entity — typical when the database has extra columns the entity does not declare (audit columns, trigger-populated fields, legacy leftovers).
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.