Packages

sealed trait EMon[+A] extends AnyRef

An Errors handling class. Consider changing name to EHan. The main ways to consume the final result of the flatMap operation are fold, getElse, foreach and forEither. This corresponds, but is not functionally equivalent to an Either[StrList, A] or Either[List[String], +A]. There are advantages to having a separate class and I find that I rarely use Either apart from with standard errors as the Left type. However use the methods biMap, to Either, eitherMap and eitherFlatMap when interoperability with Either is required. In my view Either[T] class is redundant and is rarely used except as an errors handler. So it makes sense to use a dedicated class.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EMon
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def biMap[L2, R2](fLeft: (StrList) => L2, fRight: (A) => R2): Either[L2, R2]
  2. abstract def eitherFlatMap[D](f: (A) => Either[StrList, D]): Either[StrList, D]
  3. abstract def eitherMap[D](f: (A) => D): Either[StrList, D]
  4. abstract def elseTry[A1 >: A](otherValue: EMon[A1]): EMon[A1]

    Use this EMon if good else use other EMmn

  5. abstract def errs: StrList
  6. abstract def flatMap[B](f: (A) => EMon[B]): EMon[B]
  7. abstract def foreach(f: (A) => Unit): Unit

    Will perform action if Good.

    Will perform action if Good. Does nothing if Bad.

  8. abstract def getElse[A1 >: A](elseValue: => A1): A1
  9. abstract def isBad: Boolean
  10. abstract def isGood: Boolean
  11. abstract def map[B](f: (A) => B): EMon[B]
  12. abstract def toEither: Either[StrList, A]

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. def fold[B](fBad: (StrList) => B, fGood: (A) => B): B

    Fold the EMon of type A into a type of B.

    Fold the EMon of type A into a type of B.

    Annotations
    @inline()
  10. def forEither(fBad: (StrList) => Unit, fGood: (A) => Unit): Unit

    This is just a Unit returning map, but is preferred because the method is explicit that it is called for effects not a value.

  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped