Package-level declarations
Types
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class ColumnSchema(val propertyName: String, val cqlName: String, val type: KType, val isPartitionKey: Boolean = false, val clusteringKey: ClusteringKeySchema? = null, val lookupIndex: LookupIndexSchema? = null, val isTransient: Boolean = false, val isCounter: Boolean = false, val isCreatedAt: Boolean = false, val isUpdatedAt: Boolean = false, val isSecondaryIndex: Boolean = false, val isSensitive: Boolean = false, val isVersion: Boolean = false, val generatedUuidStrategy: UuidStrategy? = null)
Link copied to clipboard
data class EntityReflection(val copyFunction: KFunction<*>?, val copyParameters: List<KParameter>, val propertiesByName: Map<String, KProperty1<*, *>>, val primaryConstructor: KFunction<*>?, val constructorParameters: List<KParameter>, val columnsByProperty: Map<String, ColumnSchema>)
The reflection surface needed to read/write an entity's fields at runtime, resolved once per entity kotlin.reflect.KClass at io.kandra.core.SchemaRegistry.register time and cached on TableSchema.reflection.
Link copied to clipboard
Link copied to clipboard
data class LookupTableSchema(val tableName: String, val indexColumn: ColumnSchema, val partitionKeyColumns: List<ColumnSchema>, val consistency: LookupConsistency, val clusteringKeyColumns: List<ColumnSchema> = emptyList())
Link copied to clipboard
data class TableSchema(val entityClass: KClass<*>, val tableName: String, val partitionKeys: List<ColumnSchema>, val clusteringKeys: List<ColumnSchema>, val columns: List<ColumnSchema>, val lookupTables: List<LookupTableSchema>, val defaultTtl: Int? = null, val isCounterTable: Boolean = false, val createdAtColumn: ColumnSchema? = null, val updatedAtColumn: ColumnSchema? = null, val secondaryIndexes: List<ColumnSchema> = emptyList(), val versionColumn: ColumnSchema? = null, val isSoftDelete: Boolean = false, val softDeleteTtlSeconds: Int? = null, val softDeleteMarkerColumn: ColumnSchema? = null, val gcGraceSeconds: Int? = null, val cacheConfig: CacheResultConfig? = null, val generatedUuidColumns: List<ColumnSchema> = emptyList(), val reflection: EntityReflection)