Object

doobie.postgres.free

largeobject

Related Doc: package free

Permalink

object largeobject extends LargeObjectIOInstances

Algebra and free monad for primitive operations over a org.postgresql.largeobject.LargeObject. 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.

LargeObjectIO is a free monad that must be run via an interpreter, most commonly via natural transformation of its underlying algebra LargeObjectOp to another monad via Free#foldMap.

The library provides a natural transformation to Kleisli[M, LargeObject, 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: LargeObjectIO[Foo] = ...

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

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

Type Members

  1. type LargeObjectIO[A] = Free[LargeObjectOp, A]

    Permalink

    Free monad over a free functor of LargeObjectOp; abstractly, a computation that consumes a org.postgresql.largeobject.LargeObject and produces a value of type A.

  2. implicit class LargeObjectIOOps[A] extends AnyRef

    Permalink

    Syntax for LargeObjectIO.

  3. sealed trait LargeObjectOp[A] extends AnyRef

    Permalink

    Sum type of primitive operations over a org.postgresql.largeobject.LargeObject.

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 CaptureLargeObjectIO: Capture[LargeObjectIO]

    Permalink

    Capture instance for LargeObjectIO.

  5. implicit val CatchableLargeObjectIO: Catchable[LargeObjectIO]

    Permalink

    Catchable instance for LargeObjectIO.

  6. object LargeObjectOp

    Permalink

    Module of constructors for LargeObjectOp.

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

  7. final def asInstanceOf[T0]: T0

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

    Permalink

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

  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. val close: LargeObjectIO[Unit]

    Permalink

  11. val copy: LargeObjectIO[LargeObject]

    Permalink

  12. def delay[A](a: ⇒ A): LargeObjectIO[A]

    Permalink

    Non-strict unit for capturing effects.

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

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. val getInputStream: LargeObjectIO[InputStream]

    Permalink

  18. val getLongOID: LargeObjectIO[Long]

    Permalink

  19. val getOID: LargeObjectIO[Int]

    Permalink

  20. val getOutputStream: LargeObjectIO[OutputStream]

    Permalink

  21. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  22. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  23. def kleisliTrans[M[_]](implicit arg0: Monad[M], arg1: Catchable[M], arg2: Capture[M]): ~>[LargeObjectOp, [γ$0$]Kleisli[M, LargeObject, γ$0$]]

    Permalink

    Natural transformation from LargeObjectOp to Kleisli for the given M, consuming a org.postgresql.largeobject.LargeObject.

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

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

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

    Permalink
    Definition Classes
    AnyRef
  27. def read(a: Array[Byte], b: Int, c: Int): LargeObjectIO[Int]

    Permalink

  28. def read(a: Int): LargeObjectIO[Array[Byte]]

    Permalink

  29. def seek(a: Int, b: Int): LargeObjectIO[Unit]

    Permalink

  30. def seek(a: Int): LargeObjectIO[Unit]

    Permalink

  31. val size: LargeObjectIO[Int]

    Permalink

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

    Permalink
    Definition Classes
    AnyRef
  33. val tell: LargeObjectIO[Int]

    Permalink

  34. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  35. def truncate(a: Int): LargeObjectIO[Unit]

    Permalink

  36. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. def write(a: Array[Byte]): LargeObjectIO[Unit]

    Permalink

  40. def write(a: Array[Byte], b: Int, c: Int): LargeObjectIO[Unit]

    Permalink

Inherited from LargeObjectIOInstances

Inherited from AnyRef

Inherited from Any

Algebra

Constructors (Lifting)

Constructors (Primitives)

Typeclass Instances

Ungrouped