All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.dbobjekts.metadata.column.LongColumns.kt Maven / Gradle / Ivy

There is a newer version: 0.6.0-RC2
Show newest version
package com.dbobjekts.metadata.column

import com.dbobjekts.api.AnyTable
import java.sql.PreparedStatement
import java.sql.ResultSet
import java.sql.Types


open class LongColumn(table: AnyTable, name: String, aggregateType: AggregateType?) :
    NonNullableColumn(table,name, Long::class.java, aggregateType), IntegerNumericColumn by IntegerNumericColumnCloner(table, name){
    constructor(table: AnyTable, name: String) : this(table, name, null)

    override fun setValue(position: Int, statement: PreparedStatement, value: Long) = statement.setLong(position, value)
    override fun getValue(position: Int, resultSet: ResultSet): Long = resultSet.getLong(position)

}

open class NullableLongColumn(table: AnyTable, name: String, aggregateType: AggregateType?) :
    NullableColumn(table,name, Types.NUMERIC, Long::class.java, aggregateType), IntegerNumericColumn by IntegerNumericColumnCloner(table, name){

    constructor(table: AnyTable, name: String) : this(table, name, null)

    //override //override fun distinct() = NullableLongColumn(table, nameInTable, AggregateType.DISTINCT)

    override fun setValue(position: Int, statement: PreparedStatement, value: Long?) = statement.setLong(position, value!!)
    override fun getValue(position: Int, resultSet: ResultSet): Long? = resultSet.getLong(position)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy