Object

doobie.free

clob

Related Doc: package free

Permalink

object clob

Algebra and free monad for primitive operations over a java.sql.Clob. This is a low-level API that exposes lifecycle-managed JDBC objects directly and is intended mainly for library developers. End users will prefer a safer, higher-level API such as that provided in the doobie.hi package.

ClobIO is a free monad that must be run via an interpreter, most commonly via natural transformation of its underlying algebra ClobOp to another monad via Free.runFC.

The library provides a natural transformation to Kleisli[M, Clob, A] for any exception-trapping (Catchable) and effect-capturing (Capture) monad M. Such evidence is provided for Task, IO, and stdlib Future; and transK[M] is provided as syntax.

// An action to run
val a: ClobIO[Foo] = ...

// A JDBC object
val s: Clob = ...

// Unfolding into a Task
val ta: Task[A] = a.transK[Task].run(s)
Source
clob.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Grouped
  2. Alphabetic
  3. By inheritance
Inherited
  1. clob
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. type ClobIO[A] = Free[[x]Coyoneda[ClobOp, x], A]

    Permalink

    Free monad over a free functor of ClobOp; abstractly, a computation that consumes a java.sql.Clob and produces a value of type A.

  2. implicit class ClobIOOps[A] extends AnyRef

    Permalink

    Syntax for ClobIO.

  3. sealed trait ClobOp[A] extends AnyRef

    Permalink

    Sum type of primitive operations over a java.sql.Clob.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. implicit val CaptureClobIO: Capture[ClobIO]

    Permalink

    Capture instance for ClobIO.

  5. implicit val CatchableClobIO: Catchable[ClobIO]

    Permalink

    Catchable instance for ClobIO.

  6. object ClobOp

    Permalink

    Module of constructors for ClobOp.

    Module of constructors for ClobOp. These are rarely useful outside of the implementation; prefer the smart constructors provided by the clob module.

  7. implicit val MonadClobIO: Monad[ClobIO]

    Permalink

    Monad instance for ClobIO (can't be inferred).

  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def attempt[A](a: ClobIO[A]): ClobIO[\/[Throwable, A]]

    Permalink

    Lift a ClobIO[A] into an exception-capturing ClobIO[Throwable \/ A].

  10. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def delay[A](a: ⇒ A): ClobIO[A]

    Permalink

    Non-strict unit for capturing effects.

  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. val free: ClobIO[Unit]

    Permalink

  16. val getAsciiStream: ClobIO[InputStream]

    Permalink

  17. def getCharacterStream(a: Long, b: Long): ClobIO[Reader]

    Permalink

  18. val getCharacterStream: ClobIO[Reader]

    Permalink

  19. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  20. def getSubString(a: Long, b: Int): ClobIO[String]

    Permalink

  21. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  22. def interpK[M[_]](implicit arg0: Monad[M], arg1: Catchable[M], arg2: Capture[M]): ~>[ClobOp, [γ]Kleisli[M, Clob, γ]]

    Permalink

    Natural transformation from ClobOp to Kleisli for the given M, consuming a java.sql.Clob.

  23. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  24. val length: ClobIO[Long]

    Permalink

  25. def liftBlob[A](s: Blob, k: BlobIO[A]): ClobIO[A]

    Permalink

  26. def liftCallableStatement[A](s: CallableStatement, k: CallableStatementIO[A]): ClobIO[A]

    Permalink

  27. def liftConnection[A](s: Connection, k: ConnectionIO[A]): ClobIO[A]

    Permalink

  28. def liftDatabaseMetaData[A](s: DatabaseMetaData, k: DatabaseMetaDataIO[A]): ClobIO[A]

    Permalink

  29. def liftDriver[A](s: Driver, k: DriverIO[A]): ClobIO[A]

    Permalink

  30. def liftNClob[A](s: NClob, k: NClobIO[A]): ClobIO[A]

    Permalink

  31. def liftPreparedStatement[A](s: PreparedStatement, k: PreparedStatementIO[A]): ClobIO[A]

    Permalink

  32. def liftRef[A](s: Ref, k: RefIO[A]): ClobIO[A]

    Permalink

  33. def liftResultSet[A](s: ResultSet, k: ResultSetIO[A]): ClobIO[A]

    Permalink

  34. def liftSQLData[A](s: SQLData, k: SQLDataIO[A]): ClobIO[A]

    Permalink

  35. def liftSQLInput[A](s: SQLInput, k: SQLInputIO[A]): ClobIO[A]

    Permalink

  36. def liftSQLOutput[A](s: SQLOutput, k: SQLOutputIO[A]): ClobIO[A]

    Permalink

  37. def liftStatement[A](s: Statement, k: StatementIO[A]): ClobIO[A]

    Permalink

  38. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  39. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  40. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  41. def position(a: String, b: Long): ClobIO[Long]

    Permalink

  42. def position(a: Clob, b: Long): ClobIO[Long]

    Permalink

  43. def raw[A](f: (Clob) ⇒ A): ClobIO[A]

    Permalink

    Backdoor for arbitrary computations on the underlying Clob.

  44. def setAsciiStream(a: Long): ClobIO[OutputStream]

    Permalink

  45. def setCharacterStream(a: Long): ClobIO[Writer]

    Permalink

  46. def setString(a: Long, b: String, c: Int, d: Int): ClobIO[Int]

    Permalink

  47. def setString(a: Long, b: String): ClobIO[Int]

    Permalink

  48. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  49. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  50. def trans[M[_]](c: Clob)(implicit arg0: Monad[M], arg1: Catchable[M], arg2: Capture[M]): ~>[ClobIO, M]

    Permalink

    Natural transformation from ClobIO to M, given a java.sql.Clob.

  51. def transK[M[_]](implicit arg0: Monad[M], arg1: Catchable[M], arg2: Capture[M]): ~>[ClobIO, [γ]Kleisli[M, Clob, γ]]

    Permalink

    Natural transformation from ClobIO to Kleisli for the given M, consuming a java.sql.Clob.

  52. def truncate(a: Long): ClobIO[Unit]

    Permalink

  53. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  55. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Algebra

Constructors (Lifting)

Constructors (Primitives)

Typeclass Instances

Ungrouped