
doobie.enum.parametermode.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of doobie-core-cats_2.11 Show documentation
Show all versions of doobie-core-cats_2.11 Show documentation
Pure functional JDBC layer for Scala.
The newest version!
package doobie.enum
import doobie.util.invariant._
import java.sql.ParameterMetaData._
import cats.kernel.Eq
import cats.kernel.instances.int._
object parametermode {
/** @group Implementation */
sealed abstract class ParameterMode(val toInt: Int)
/** @group Values */ case object ModeIn extends ParameterMode(parameterModeIn)
/** @group Values */ case object ModeOut extends ParameterMode(parameterModeOut)
/** @group Values */ case object ModeInOut extends ParameterMode(parameterModeInOut)
/** @group Values */ case object ModeUnknown extends ParameterMode(parameterModeUnknown)
/** @group Implementation */
object ParameterMode {
def fromInt(n:Int): Option[ParameterMode] =
Some(n) collect {
case ModeIn.toInt => ModeIn
case ModeOut.toInt => ModeOut
case ModeInOut.toInt => ModeInOut
case ModeUnknown.toInt => ModeUnknown
}
def unsafeFromInt(n: Int): ParameterMode =
fromInt(n).getOrElse(throw InvalidOrdinal[ParameterMode](n))
implicit val EqParameterMode: Eq[ParameterMode] =
Eq.by(_.toInt)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy