com.paypal.cascade.http.resource

RichEitherHalt

implicit class RichEitherHalt[T, A] extends AnyRef

Implicit wrapper to allow right-biased scala.util.Either values, of any left type, to halt or throw

import com.paypal.cascade.http.resource._
Right("hi").orError                                                             // Future("hi")
Left(CustomError("no")).orError { c => HttpResponse(500, c.getMessage, List()) } // Future(HaltException(...))
T

the left type, by convention representing a failure

A

the right type, by convention representing a success

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. RichEitherHalt
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RichEitherHalt(either: Either[T, A])

    either

    the either to wrap

Value Members

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

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

    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from RichEitherHalt[T, A] to any2stringadd[RichEitherHalt[T, A]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (RichEitherHalt[T, A], B)

    Implicit information
    This member is added by an implicit conversion from RichEitherHalt[T, A] to ArrowAssoc[RichEitherHalt[T, A]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def ensuring(cond: (RichEitherHalt[T, A]) ⇒ Boolean, msg: ⇒ Any): RichEitherHalt[T, A]

    Implicit information
    This member is added by an implicit conversion from RichEitherHalt[T, A] to Ensuring[RichEitherHalt[T, A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  9. def ensuring(cond: (RichEitherHalt[T, A]) ⇒ Boolean): RichEitherHalt[T, A]

    Implicit information
    This member is added by an implicit conversion from RichEitherHalt[T, A] to Ensuring[RichEitherHalt[T, A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: Boolean, msg: ⇒ Any): RichEitherHalt[T, A]

    Implicit information
    This member is added by an implicit conversion from RichEitherHalt[T, A] to Ensuring[RichEitherHalt[T, A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean): RichEitherHalt[T, A]

    Implicit information
    This member is added by an implicit conversion from RichEitherHalt[T, A] to Ensuring[RichEitherHalt[T, A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from RichEitherHalt[T, A] to StringFormat[RichEitherHalt[T, A]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  16. final def getClass(): Class[_]

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

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

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

    Definition Classes
    AnyRef
  20. final def notify(): Unit

    Definition Classes
    AnyRef
  21. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  22. def orError(errorFn: (T) ⇒ HttpEntity = _ => Empty): Future[A]

    Return the value on the right, or halt with an error code of 500 Internal Server Error

    Return the value on the right, or halt with an error code of 500 Internal Server Error

    errorFn

    optionally, a method to convert a left value to an HttpEntity

    returns

    the value on the right, or a failed Future with a 500 error and, optionally, a message based on the left

  23. def orErrorNow(errorFn: (T) ⇒ HttpEntity = _ => Empty): A

    Return the value on the right, or throw a HaltException containing a message based on the left value and an error code of 500 Internal Server error

    Return the value on the right, or throw a HaltException containing a message based on the left value and an error code of 500 Internal Server error

    errorFn

    optionally, a method to convert a left value to an HttpEntity

    returns

    the value on the right

    Annotations
    @throws( ... )
    Exceptions thrown
    HaltException

    with a 500 error and, optionally, a message based on the left

  24. def orHalt(haltFn: (T) ⇒ HttpResponse): Future[A]

    Return the value on the right, or halt

    Return the value on the right, or halt

    haltFn

    a method to convert a left value to an HttpEntity

    returns

    the value on the right, or a failed Future based on the left value

  25. def orThrowHaltException(haltFn: (T) ⇒ HttpResponse): A

    Return the value on the right, or throw a halt exception containing a message based on the left value

    Return the value on the right, or throw a halt exception containing a message based on the left value

    haltFn

    a method to convert a left value to an HttpResponse

    returns

    the value on the right

    Annotations
    @throws( ... )
    Exceptions thrown
    HaltException

    containing a message based on the left, if Left

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

    Definition Classes
    AnyRef
  27. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. def [B](y: B): (RichEitherHalt[T, A], B)

    Implicit information
    This member is added by an implicit conversion from RichEitherHalt[T, A] to ArrowAssoc[RichEitherHalt[T, A]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from RichEitherHalt[T, A] to any2stringadd[RichEitherHalt[T, A]]

Inherited by implicit conversion StringFormat from RichEitherHalt[T, A] to StringFormat[RichEitherHalt[T, A]]

Inherited by implicit conversion Ensuring from RichEitherHalt[T, A] to Ensuring[RichEitherHalt[T, A]]

Inherited by implicit conversion ArrowAssoc from RichEitherHalt[T, A] to ArrowAssoc[RichEitherHalt[T, A]]

Ungrouped