Class/Object

cats.data

Validated

Related Docs: object Validated | package data

Permalink

sealed abstract class Validated[+E, +A] extends Product with Serializable

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Validated
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def canEqual(that: Any): Boolean

    Permalink
    Definition Classes
    Equals
  2. abstract def productArity: Int

    Permalink
    Definition Classes
    Product
  3. abstract def productElement(n: Int): Any

    Permalink
    Definition Classes
    Product

Concrete 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. def ===[EE >: E, AA >: A](that: Validated[EE, AA])(implicit EE: Eq[EE], AA: Eq[AA]): Boolean

    Permalink
  5. def andThen[EE >: E, B](f: (A) ⇒ Validated[EE, B]): Validated[EE, B]

    Permalink

    Apply a function (that returns a Validated) in the valid case.

    Apply a function (that returns a Validated) in the valid case. Otherwise return the original Validated.

    This allows "chained" validation: the output of one validation can be fed into another validation function.

    This function is similar to flatMap on Either. It's not called flatMap, because by Cats convention, flatMap is a monadic bind that is consistent with ap. This method is not consistent with ap (or other Apply-based methods), because it has "fail-fast" behavior as opposed to accumulating validation failures.

  6. def ap[EE >: E, B](f: Validated[EE, (A) ⇒ B])(implicit EE: Semigroup[EE]): Validated[EE, B]

    Permalink

    From Apply: if both the function and this value are Valid, apply the function

  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def bimap[EE, AA](fe: (E) ⇒ EE, fa: (A) ⇒ AA): Validated[EE, AA]

    Permalink

    Validated is a Bifunctor, this method applies one of the given functions.

  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def combine[EE >: E, AA >: A](that: Validated[EE, AA])(implicit EE: Semigroup[EE], AA: Semigroup[AA]): Validated[EE, AA]

    Permalink

    Combine this Validated with another Validated, using the Semigroup instances of the underlying E and A instances.

    Combine this Validated with another Validated, using the Semigroup instances of the underlying E and A instances. The resultant Validated will be Valid, if, and only if, both this Validated instance and the supplied Validated instance are also Valid.

  11. def compare[EE >: E, AA >: A](that: Validated[EE, AA])(implicit EE: Order[EE], AA: Order[AA]): Int

    Permalink
  12. def ensure[EE >: E](onFailure: ⇒ EE)(f: (A) ⇒ Boolean): Validated[EE, A]

    Permalink

    Ensure that a successful result passes the given predicate, falling back to an Invalid of onFailure if the predicate returns false.

    Ensure that a successful result passes the given predicate, falling back to an Invalid of onFailure if the predicate returns false.

    For example:

    scala> Validated.valid("").ensure(new IllegalArgumentException("Must not be empty"))(_.nonEmpty)
    res0: Validated[IllegalArgumentException, String] = Invalid(java.lang.IllegalArgumentException: Must not be empty)
  13. def ensureOr[EE >: E](onFailure: (A) ⇒ EE)(f: (A) ⇒ Boolean): Validated[EE, A]

    Permalink

    Ensure that a successful result passes the given predicate, falling back to the an Invalid of the result of onFailure if the predicate returns false.

    Ensure that a successful result passes the given predicate, falling back to the an Invalid of the result of onFailure if the predicate returns false.

    For example:

    scala> Validated.valid("ab").ensureOr(s => new IllegalArgumentException("Must be longer than 3, provided '" + s + "'"))(_.length > 3)
    res0: Validated[IllegalArgumentException, String] = Invalid(java.lang.IllegalArgumentException: Must be longer than 3, provided 'ab')
  14. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  16. def exists(predicate: (A) ⇒ Boolean): Boolean

    Permalink

    Is this Valid and matching the given predicate

  17. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. def findValid[EE >: E, AA >: A](that: ⇒ Validated[EE, AA])(implicit EE: Semigroup[EE]): Validated[EE, AA]

    Permalink

    If this is valid return this, otherwise if that is valid return that, otherwise combine the failures.

    If this is valid return this, otherwise if that is valid return that, otherwise combine the failures. This is similar to orElse except that here failures are accumulated.

  19. def fold[B](fe: (E) ⇒ B, fa: (A) ⇒ B): B

    Permalink
  20. def foldLeft[B](b: B)(f: (B, A) ⇒ B): B

    Permalink

    apply the given function to the value with the given B when valid, otherwise return the given B

  21. def foldRight[B](lb: Eval[B])(f: (A, Eval[B]) ⇒ Eval[B]): Eval[B]

    Permalink

    Lazily-apply the given function to the value with the given B when valid, otherwise return the given B.

  22. def forall(f: (A) ⇒ Boolean): Boolean

    Permalink

    Is this Invalid or matching the predicate

  23. def foreach(f: (A) ⇒ Unit): Unit

    Permalink

    Run the side-effecting function on the value if it is Valid

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

    Permalink
    Definition Classes
    AnyRef → Any
  25. def getOrElse[B >: A](default: ⇒ B): B

    Permalink

    Return the Valid value, or the default if Invalid

  26. def hashCode(): Int

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

    Permalink
    Definition Classes
    Any
  28. def isInvalid: Boolean

    Permalink
  29. def isValid: Boolean

    Permalink
  30. def leftMap[EE](f: (E) ⇒ EE): Validated[EE, A]

    Permalink

    Apply a function to an Invalid value, returning a new Invalid value.

    Apply a function to an Invalid value, returning a new Invalid value. Or, if the original valid was Valid, return it.

  31. def map[B](f: (A) ⇒ B): Validated[E, B]

    Permalink

    Apply a function to a Valid value, returning a new Valid value

  32. def merge[EE >: E](implicit ev: <:<[A, EE]): EE

    Permalink
  33. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  36. def orElse[EE, AA >: A](default: ⇒ Validated[EE, AA]): Validated[EE, AA]

    Permalink

    Return this if it is Valid, or else fall back to the given default.

    Return this if it is Valid, or else fall back to the given default. The functionality is similar to that of findValid except for failure accumulation, where here only the error on the right is preserved and the error on the left is ignored.

  37. def partialCompare[EE >: E, AA >: A](that: Validated[EE, AA])(implicit EE: PartialOrder[EE], AA: PartialOrder[AA]): Double

    Permalink
  38. def product[EE >: E, B](fb: Validated[EE, B])(implicit EE: Semigroup[EE]): Validated[EE, (A, B)]

    Permalink

    From Product

  39. def productIterator: Iterator[Any]

    Permalink
    Definition Classes
    Product
  40. def productPrefix: String

    Permalink
    Definition Classes
    Product
  41. def show[EE >: E, AA >: A](implicit EE: Show[EE], AA: Show[AA]): String

    Permalink
  42. def swap: Validated[A, E]

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

    Permalink
    Definition Classes
    AnyRef
  44. def toEither: Either[E, A]

    Permalink

    Converts the value to an Either[E, A]

  45. def toIor: Ior[E, A]

    Permalink

    Returns Valid values wrapped in Ior.Right, and None for Ior.Left values

  46. def toList: List[A]

    Permalink

    Convert this value to a single element List if it is Valid, otherwise return an empty List

  47. def toOption: Option[A]

    Permalink

    Returns Valid values wrapped in Some, and None for Invalid values

  48. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  49. def toValidatedNec[EE >: E, AA >: A]: ValidatedNec[EE, AA]

    Permalink

    Lift the Invalid value into a NonEmptyChain.

  50. def toValidatedNel[EE >: E, AA >: A]: ValidatedNel[EE, AA]

    Permalink

    Lift the Invalid value into a NonEmptyList.

  51. def traverse[F[_], EE >: E, B](f: (A) ⇒ F[B])(implicit F: Applicative[F]): F[Validated[EE, B]]

    Permalink

    When Valid, apply the function, marking the result as valid inside the Applicative's context, when Invalid, lift the Error into the Applicative's context

  52. def valueOr[B >: A](f: (E) ⇒ B): B

    Permalink

    Return the Valid value, or the result of f if Invalid

  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( ... )
  56. def withEither[EE, B](f: (Either[E, A]) ⇒ Either[EE, B]): Validated[EE, B]

    Permalink

    Convert to an Either, apply a function, convert back.

    Convert to an Either, apply a function, convert back. This is handy when you want to use the Monadic properties of the Either type.

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped