Trait/Object

org.atnos.eff

SafeEffect

Related Docs: object SafeEffect | package eff

Permalink

trait SafeEffect extends SafeCreation with SafeInterpretation

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SafeEffect
  2. SafeInterpretation
  3. SafeCreation
  4. SafeTypes
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Out[A] = (EitherEffect.ThrowableEither[A], List[Throwable])

    Permalink
    Definition Classes
    SafeInterpretation
  2. type _Safe[R] = Member[Safe, R]

    Permalink
    Definition Classes
    SafeTypes
  3. type _safe[R] = MemberIn[Safe, R]

    Permalink
    Definition Classes
    SafeTypes

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. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def attempt[R, A](action: Eff[R, A])(implicit m: /=[Safe, R]): Eff[R, Either[Throwable, A]]

    Permalink

    try to execute an action an report any issue

    try to execute an action an report any issue

    Definition Classes
    SafeInterpretation
  6. def attemptSafe[R, A](effect: Eff[R, A])(implicit m: /=[Safe, R]): Eff[R, (EitherEffect.ThrowableEither[A], List[Throwable])]

    Permalink

    Attempt to execute a safe action including finalizers

    Attempt to execute a safe action including finalizers

    Definition Classes
    SafeInterpretation
  7. def bracket[R, A, B, C](acquire: Eff[R, A])(use: (A) ⇒ Eff[R, B])(release: (A) ⇒ Eff[R, C])(implicit m: /=[Safe, R]): Eff[R, B]

    Permalink

    get a resource A and use it.

    get a resource A and use it. Call the release function whether an exception is thrown or not when using the resource

    NOTE: Eff interpreters are independent so if there is an effect short-circuiting all computations inside 'use', like Option or Either then the release function will not be called. If you want to make sure that the release function is always called "at the end of the world and whatever happens" you need to call Eff.bracketLast

    Definition Classes
    SafeInterpretation
  8. def catchThrowable[R, A, B](action: Eff[R, A], pureValue: (A) ⇒ B, onThrowable: (Throwable) ⇒ Eff[R, B])(implicit m: /=[Safe, R]): Eff[R, B]

    Permalink

    evaluate first action possibly having error effects

    evaluate first action possibly having error effects

    Execute a second action if the first one is not successful, based on the error

    Definition Classes
    SafeInterpretation
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  12. def eval[R, A](a: Eval[A])(implicit arg0: _safe[R]): Eff[R, A]

    Permalink
    Definition Classes
    SafeCreation
  13. def exception[R, A](t: Throwable)(implicit arg0: _safe[R]): Eff[R, A]

    Permalink
    Definition Classes
    SafeCreation
  14. def execSafe[R, U, A](r: Eff[R, A])(implicit m: Aux[Safe, R, U]): Eff[U, EitherEffect.ThrowableEither[A]]

    Permalink

    run a safe effect but drop the finalizer errors

    run a safe effect but drop the finalizer errors

    Definition Classes
    SafeInterpretation
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def finalizerException[R](t: Throwable)(implicit arg0: _safe[R]): Eff[R, Unit]

    Permalink
    Definition Classes
    SafeCreation
  17. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  19. def ignoreException[R, E <: Throwable, A](action: Eff[R, A])(implicit arg0: ClassTag[E], m: /=[Safe, R]): Eff[R, Unit]

    Permalink

    ignore one possible exception that could be thrown

    ignore one possible exception that could be thrown

    Definition Classes
    SafeInterpretation
  20. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  21. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  24. def otherwise[R, A](action: Eff[R, A], onThrowable: Eff[R, A])(implicit m: /=[Safe, R]): Eff[R, A]

    Permalink

    evaluate first action possibly having exceptions

    evaluate first action possibly having exceptions

    Execute a second action if the first one is not successful

    Definition Classes
    SafeInterpretation
  25. def protect[R, A](a: ⇒ A)(implicit arg0: _safe[R]): Eff[R, A]

    Permalink
    Definition Classes
    SafeCreation
  26. def recoverThrowable[R, A, B](action: Eff[R, A], pureValue: (A) ⇒ B, onThrowable: PartialFunction[Throwable, Eff[R, B]])(implicit m: /=[Safe, R]): Eff[R, B]

    Permalink

    evaluate first action possibly having error effects

    evaluate first action possibly having error effects

    Execute a second action if the first one is not successful and second is defined for the error

    Definition Classes
    SafeInterpretation
  27. def runSafe[R, U, A](effect: Eff[R, A])(implicit m: Aux[Safe, R, U]): Eff[U, (EitherEffect.ThrowableEither[A], List[Throwable])]

    Permalink

    Run a safe effect

    Run a safe effect

    Collect finalizer exceptions if any

    Definition Classes
    SafeInterpretation
  28. def safeInterpreter[R, A](last: Option[(Eff[R, Unit], /=[Safe, R])]): Interpreter[Safe, R, A, Out[A]]

    Permalink
    Definition Classes
    SafeInterpretation
  29. def safeInterpreter[R, A]: Interpreter[Safe, R, A, Out[A]]

    Permalink
    Definition Classes
    SafeInterpretation
  30. def safeMemo[R, A](key: AnyRef, cache: Cache, e: Eff[R, A])(implicit safe: /=[Safe, R]): Eff[R, A]

    Permalink

    Memoize safe effects using a cache

    Memoize safe effects using a cache

    if this method is called with the same key the previous value will be returned

    Definition Classes
    SafeInterpretation
  31. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  32. def thenFinally[R, A](effect: Eff[R, A], last: Eff[R, Unit])(implicit m: /=[Safe, R]): Eff[R, A]

    Permalink

    evaluate first action possibly having error effects execute a second action whether the first is successful or not but keep track of finalizer exceptions

    evaluate first action possibly having error effects execute a second action whether the first is successful or not but keep track of finalizer exceptions

    Definition Classes
    SafeInterpretation
  33. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  34. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. def whenFailed[R, A](action: Eff[R, A], onThrowable: (Throwable) ⇒ Eff[R, A])(implicit m: /=[Safe, R]): Eff[R, A]

    Permalink

    evaluate first action possibly throwing exceptions

    evaluate first action possibly throwing exceptions

    Execute a second action if the first one is not successful, based on the exception

    The final value type is the same as the original type

    Definition Classes
    SafeInterpretation
  38. def whenThrowable[R, A](action: Eff[R, A], onThrowable: PartialFunction[Throwable, Eff[R, A]])(implicit m: /=[Safe, R]): Eff[R, A]

    Permalink

    evaluate first action possibly throwing exceptions

    evaluate first action possibly throwing exceptions

    Execute a second action if the first one is not successful and second is defined for the error

    The final value type is the same as the original type

    Definition Classes
    SafeInterpretation

Inherited from SafeInterpretation

Inherited from SafeCreation

Inherited from SafeTypes

Inherited from AnyRef

Inherited from Any

Ungrouped