IColumnType

interface IColumnType<T>

Interface common to all column types.

Inheritors

Properties

Link copied to clipboard

Returns true if this is an auto-increment column, false otherwise.

Link copied to clipboard
abstract var nullable: Boolean

Returns true if the column type is nullable, false otherwise.

Functions

Link copied to clipboard

Returns the String representation of the specified non-null value when value is set as the default for the column.

Link copied to clipboard
open fun nonNullValueToString(value: T & Any): String

Returns the SQL representation of the specified non-null value, for this column type.

Link copied to clipboard
open fun notNullValueToDB(value: T & Any): Any

Returns an object compatible with the database, from the specified non-null value, for this column type.

Link copied to clipboard
open fun parameterMarker(value: T?): String

Defines the appearance of parameter markers in prepared SQL statements.

Link copied to clipboard
open fun readObject(rs: ResultSet, index: Int): Any?

Returns the object at the specified index in the rs.

Link copied to clipboard
open fun setParameter(stmt: PreparedStatementApi, index: Int, value: Any?)

Sets the value at the specified index into the stmt.

Link copied to clipboard
abstract fun sqlType(): String

Returns the SQL type of this column.

Link copied to clipboard
open fun validateValueBeforeUpdate(value: T?)

Function checks that provided value is suites the column type and throws IllegalArgumentException otherwise. value can be of any type (including Expression)

Link copied to clipboard
open fun valueAsDefaultString(value: T?): String

Returns the String representation of the specified value when value is set as the default for the column. If the value is null and the column is not nullable, an exception will be thrown. Used for metadata default value comparison.

Link copied to clipboard
abstract fun valueFromDB(value: Any): T?

Converts the specified value (from the database) to an object of the appropriated type, for this column type. Default implementation returns the same instance.

Link copied to clipboard
open fun valueToDB(value: T?): Any?

Returns an object compatible with the database, from the specified value, for this column type.

Link copied to clipboard
open fun valueToString(value: T?): String

Returns the SQL representation of the specified value, for this column type. If the value is null and the column is not nullable, an exception will be thrown. Used when generating an SQL statement and when logging that statement.