Package-level declarations

Types

Link copied to clipboard

In the order of the constructor arguments.

Link copied to clipboard
data class ColumnWithPropertyName(val propertyName: String, val column: Column<*>)
Link copied to clipboard
Link copied to clipboard
class PropertyColumnMappingConfig<P>(type: KType, val skip: Boolean = false, val customMapper: NullableDataMapper<P>? = null, usedForQuery: Boolean = true, val columnPropertyName: String? = null, val whetherNullDependentColumn: Column<*>? = null, val adt: PropertyColumnMappingConfig.Adt<P & Any>? = null)
Link copied to clipboard
class ReflectionBasedClassPropertyDataMapper<Data : Any>(val fullConcreteTypeClass: FullConcreteTypeClass<Data>, val classPropertyColumnMappings: ClassPropertyColumnMappings<Data>) : DataMapper<Data>

Supports classes with nested composite class properties and multiple tables

Nested classes are not supported.

Link copied to clipboard
class ReflectionFunctionInvocationException(constructor: KFunction<*>, args: Any?, cause: Throwable) : Exception
Link copied to clipboard
class SumTypeCaseConfig<SuperclassData : Any, CaseValue>(val caseValueColumn: Column<CaseValue>, val caseValueKClassConversion: BidirectionalConversion<CaseValue, KClass<out SuperclassData>>)

Functions

Link copied to clipboard
fun <R> KFunction<R>.callWithCatch(vararg args: Any?): R
Link copied to clipboard
fun PropertyColumnMapping<*, *>.forEachColumn(block: (Column<*>) -> Unit)
fun ClassPropertyColumnMappings<*>.forEachColumn(block: (Column<*>) -> Unit)
Link copied to clipboard
fun getColumnByPropertyNameMap(tables: List<Table>, onDuplicateColumnPropertyNames: OnDuplicateColumnPropertyNames = CHOOSE_FIRST): Map<String, Column<*>>
inline fun <TableT : Table> getColumnByPropertyNameMapWithTypeParameter(table: TableT): Map<String, Column<*>>
Link copied to clipboard
fun <TableT : Table> getColumnProperties(clazz: KClass<TableT>): Sequence<KProperty1<TableT, Column<*>>>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <Data : Any> getDefaultClassPropertyColumnMappings(fullConcreteTypeClass: FullConcreteTypeClass<Data>, tables: List<Table>, onDuplicateColumnPropertyNames: OnDuplicateColumnPropertyNames = CHOOSE_FIRST, propertyColumnMappingConfigMapOverride: PropertyColumnMappingConfigMap<Data> = emptyMap(), customMappings: PropertyColumnMappings<Data> = emptyList()): ClassPropertyColumnMappings<Data>
Link copied to clipboard
fun ResultRow.getValue(column: Column<*>): Any?
Link copied to clipboard
inline fun <D1 : Any, D2 : Any> innerJoinResultRowToData(crossinline resultRowToData1: (ResultRow) -> D1, crossinline resultRowToData2: (ResultRow) -> D2): (ResultRow) -> Pair<D1, D2>
Link copied to clipboard
inline fun <D1 : Any, D2 : Any> leftJoinResultRowToData(crossinline resultRowToData1: (ResultRow) -> D1, crossinline resultRowToData2: (ResultRow) -> D2, onColumn: Column<*>): (ResultRow) -> Pair<D1, D2?>
inline fun <D1 : Any, D2 : Any, D3 : Any> leftJoinResultRowToData(crossinline resultRowToData1: (ResultRow) -> D1, crossinline resultRowToData2: (ResultRow) -> D2, crossinline resultRowToData3: (ResultRow) -> D3, onColumn2: Column<*>, onColumn3: Column<*>): (ResultRow) -> Triple<D1, D2?, D3?>
Link copied to clipboard
inline fun <Data : Any> reflectionBasedClassPropertyDataMapper(join: Join, propertyColumnMappingConfigMapOverride: PropertyColumnMappingConfigMap<Data> = emptyMap(), customMappings: PropertyColumnMappings<Data> = emptyList()): ReflectionBasedClassPropertyDataMapper<Data>

A shortcut for Joins.

inline fun <Data : Any> reflectionBasedClassPropertyDataMapper(table: Table, propertyColumnMappingConfigMapOverride: PropertyColumnMappingConfigMap<Data> = emptyMap(), customMappings: PropertyColumnMappings<Data> = emptyList()): ReflectionBasedClassPropertyDataMapper<Data>
inline fun <Data : Any> reflectionBasedClassPropertyDataMapper(tables: List<Table>, onDuplicateColumnPropertyNames: OnDuplicateColumnPropertyNames = CHOOSE_FIRST, propertyColumnMappingConfigMapOverride: PropertyColumnMappingConfigMap<Data> = emptyMap(), customMappings: PropertyColumnMappings<Data> = emptyList()): ReflectionBasedClassPropertyDataMapper<Data>
Link copied to clipboard
fun <Data : Any> setUpdateBuilder(classPropertyColumnMappings: ClassPropertyColumnMappings<Data>, data: Data, updateBuilder: UpdateBuilder<*>)
Link copied to clipboard
fun setUpdateBuilderColumnsToNulls(columns: List<Column<*>>, updateBuilder: UpdateBuilder<*>)
fun setUpdateBuilderColumnsToNullsWithMappings(classPropertyColumnMappings: ClassPropertyColumnMappings<*>, updateBuilder: UpdateBuilder<*>)
Link copied to clipboard
fun <S> UpdateBuilder<*>.setWithColumnPossiblyBeingEntityId(column: Column<S>, value: S)

This is a workaround for a column that is possibly an EntityID. It seems needed since Exposed 0.53.0.