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

com.outr.query.ColumnValue.scala Maven / Gradle / Ivy

package com.outr.query

import com.outr.query.datatype.DataType
import org.powerscala.reflect._

/**
 * @author Matt Hicks 
 */
case class ColumnValue[T](column: ColumnLike[T],
                          value: T,
                          converterOverride: Option[DataType[T]]) extends ExpressionValue[T] {
  if (value.asInstanceOf[AnyRef] != null && !value.getClass.hasType(column.manifest.runtimeClass)) {
    throw new RuntimeException(s"Unable to set column-value $value (${value.getClass.getName}) when ${column.manifest.runtimeClass.getName} is expected in ${column.longName}.")
  }

  def expression = column
  def toSQL = converterOverride match {
    case Some(converter) => converter.toSQLType(column, value)
    case None => column.converter.toSQLType(column, value)
  }

  override def toString = s"$column = $value"
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy