abstract class Prism_[S, T, A, B] extends Prism0[S, T, A, B]

A Prism_ is used for selecting cases of a type, most often a sum type.

A Prism_ can fail to get or modify its focus.

A Prism_ can only focus at most one value.

S

the source of a Prism_

T

the modified source of a Prism_

A

the focus of a Prism_

B

the modified focus of a Prism_

Self Type
Prism_[S, T, A, B]
Source
Prism.scala
Linear Supertypes
Prism0[S, T, A, B], Review0[T, B], AffineTraversal0[S, T, A, B], Fold0[S, A], FoldInstances, Getter0[S, A], Serializable, Traversal0[S, T, A, B], Setter0[S, T, A, B], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Prism_
  2. Prism0
  3. Review0
  4. AffineTraversal0
  5. Fold0
  6. FoldInstances
  7. Getter0
  8. Serializable
  9. Traversal0
  10. Setter0
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Prism_()

Abstract Value Members

  1. abstract def viewOrModify(s: S): Either[T, A]

    view the focus or return the modified source of an AffineTraversal

    view the focus or return the modified source of an AffineTraversal

    Definition Classes
    AffineTraversal0

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 andThen[I, C, D](other: IndexedFold_[I, A, B, C, D]): IndexedFold_[I, S, T, C, D]

    compose this Prism_ with an IndexedFold_, having this Prism_ applied first

  5. final def andThen[I, C, D](other: IndexedGetter_[I, A, B, C, D]): IndexedFold_[I, S, T, C, D]

    compose this Prism_ with an IndexedGetter_, having this Prism_ applied first

  6. final def andThen[I, C, D](other: IndexedSetter_[I, A, B, C, D]): IndexedSetter_[I, S, T, C, D]

    compose this Prism_ with an IndexedSetter_, having this Prism_ applied first

  7. final def andThen[I, C, D](other: IndexedTraversal_[I, A, B, C, D]): IndexedTraversal_[I, S, T, C, D]

    compose this Prism_ with an IndexedTraversal_, having this Prism_ applied first

  8. final def andThen[I, C, D](other: AnIndexedLens_[I, A, B, C, D]): IndexedTraversal_[I, S, T, C, D]

    compose this Prism_ with an AnIndexedLens_, having this Prism_ applied first

  9. final def andThen[I, C, D](other: IndexedLens_[I, A, B, C, D]): IndexedTraversal_[I, S, T, C, D]

    compose this Prism_ with an IndexedLens_, having this Prism_ applied first

  10. final def andThen[C, D](other: Review_[A, B, C, D]): Review_[S, T, C, D]

    compose this Prism_ with a Review_, having this Prism_ applied first

  11. final def andThen[C, D](other: Fold_[A, B, C, D]): Fold_[S, T, C, D]

    compose this Prism_ with a Fold_, having this Prism_ applied first

  12. final def andThen[C, D](other: Getter_[A, B, C, D]): Fold_[S, T, C, D]

    compose this Prism_ with a Getter_, having this Prism_ applied first

  13. final def andThen[C, D](other: Setter_[A, B, C, D]): Setter_[S, T, C, D]

    compose this Prism_ with a Setter_, having this Prism_ applied first

  14. final def andThen[C, D](other: ATraversal_[A, B, C, D]): ATraversal_[S, T, C, D]

    compose this Prism_ with an ATraversal_, having this Prism_ applied first

  15. final def andThen[C, D](other: Traversal_[A, B, C, D]): Traversal_[S, T, C, D]

    compose this Prism_ with a Traversal_, having this Prism_ applied first

  16. final def andThen[C, D](other: AnAffineTraversal_[A, B, C, D]): AnAffineTraversal_[S, T, C, D]

    compose this Prism_ with an AffineTraversal_, having this Prism_ applied first

  17. final def andThen[C, D](other: AffineTraversal_[A, B, C, D]): AffineTraversal_[S, T, C, D]

    compose this Prism_ with an AffineTraversal_, having this Prism_ applied first

  18. final def andThen[C, D](other: APrism_[A, B, C, D]): APrism_[S, T, C, D]

    compose this Prism_ with an APrism_, having this Prism_ applied first

  19. final def andThen[C, D](other: Prism_[A, B, C, D]): Prism_[S, T, C, D]

    compose this Prism_ with a Prism_, having this Prism_ applied first

  20. final def andThen[C, D](other: ALens_[A, B, C, D]): AffineTraversal_[S, T, C, D]

    compose this Prism_ with an ALens_, having this Prism_ applied first

  21. final def andThen[C, D](other: Lens_[A, B, C, D]): AffineTraversal_[S, T, C, D]

    compose this Prism_ with a Lens_, having this Prism_ applied first

  22. final def andThen[C, D](other: AnIso_[A, B, C, D]): Prism_[S, T, C, D]

    compose this Prism_ with an AnIso_, having this Prism_ applied first

  23. final def andThen[C, D](other: Iso_[A, B, C, D]): Prism_[S, T, C, D]

    compose this Prism_ with an Iso_, having this Prism_ applied first

  24. final def asAPrism: APrism_[S, T, A, B]

    transform a Prism_ to an APrism_

  25. final def asFold: Fold_[S, T, A, B]

    transform a Prism_ to a Fold_

  26. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  27. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  28. final def compose[I, C, D](other: IndexedFold_[I, C, D, S, T]): IndexedFold_[I, C, D, A, B]

    compose this Prism_ with an IndexedFold_, having this Prism_ applied last

  29. final def compose[I, C, D](other: IndexedGetter_[I, C, D, S, T]): IndexedFold_[I, C, D, A, B]

    compose this Prism_ with an IndexedGetter_, having this Prism_ applied last

  30. final def compose[I, C, D](other: IndexedSetter_[I, C, D, S, T]): IndexedSetter_[I, C, D, A, B]

    compose this Prism_ with an IndexedSetter_, having this Prism_ applied last

  31. final def compose[I, C, D](other: IndexedTraversal_[I, C, D, S, T]): IndexedTraversal_[I, C, D, A, B]

    compose this Prism_ with an IndexedTraversal_, having this Prism_ applied last

  32. final def compose[I, C, D](other: AnIndexedLens_[I, C, D, S, T]): IndexedTraversal_[I, C, D, A, B]

    compose this Prism_ with an AnIndexedLens_, having this Prism_ applied last

  33. final def compose[I, C, D](other: IndexedLens_[I, C, D, S, T]): IndexedTraversal_[I, C, D, A, B]

    compose this Prism_ with an IndexedLens_, having this Prism_ applied last

  34. final def compose[C, D](other: Review_[C, D, S, T]): Review_[C, D, A, B]

    compose this Prism_ with a Review_, having this Prism_ applied last

  35. final def compose[C, D](other: Fold_[C, D, S, T]): Fold_[C, D, A, B]

    compose this Prism_ with a Fold_, having this Prism_ applied last

  36. final def compose[C, D](other: Getter_[C, D, S, T]): Fold_[C, D, A, B]

    compose this Prism_ with a Getter_, having this Prism_ applied last

  37. final def compose[C, D](other: Setter_[C, D, S, T]): Setter_[C, D, A, B]

    compose this Prism_ with a Setter_, having this Prism_ applied last

  38. final def compose[C, D](other: ATraversal_[C, D, S, T]): ATraversal_[C, D, A, B]

    compose this Prism_ with an ATraversal_, having this Prism_ applied last

  39. final def compose[C, D](other: Traversal_[C, D, S, T]): Traversal_[C, D, A, B]

    compose this Prism_ with a Traversal_, having this Prism_ applied last

  40. final def compose[C, D](other: AnAffineTraversal_[C, D, S, T]): AnAffineTraversal_[C, D, A, B]

    compose this Prism_ with an AffineTraversal_, having this Prism_ applied last

  41. final def compose[C, D](other: AffineTraversal_[C, D, S, T]): AffineTraversal_[C, D, A, B]

    compose this Prism_ with an AffineTraversal_, having this Prism_ applied last

  42. final def compose[C, D](other: APrism_[C, D, S, T]): APrism_[C, D, A, B]

    compose this Prism_ with an APrism_, having this Prism_ applied last

  43. final def compose[C, D](other: Prism_[C, D, S, T]): Prism_[C, D, A, B]

    compose this Prism_ with a Prism_, having this Prism_ applied last

  44. final def compose[C, D](other: ALens_[C, D, S, T]): AffineTraversal_[C, D, A, B]

    compose this Prism_ with an ALens_, having this Prism_ applied last

  45. final def compose[C, D](other: Lens_[C, D, S, T]): AffineTraversal_[C, D, A, B]

    compose this Prism_ with a Lens_, having this Prism_ applied last

  46. final def compose[C, D](other: AnIso_[C, D, S, T]): Prism_[C, D, A, B]

    compose this Prism_ with an AnIso_, having this Prism_ applied last

  47. final def compose[C, D](other: Iso_[C, D, S, T]): Prism_[C, D, A, B]

    compose this Prism_ with an Iso_, having this Prism_ applied last

  48. final def contains(a: A)(s: S)(implicit ev: Eq[A]): Boolean

    test whether the focus of a Getter contains a given value

    test whether the focus of a Getter contains a given value

    Definition Classes
    Getter0
  49. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  50. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  51. final def exists(f: (A) => Boolean): (S) => Boolean

    test whether a predicate holds for the focus of a Fold

    test whether a predicate holds for the focus of a Fold

    Definition Classes
    Fold0 → Getter0
  52. final def failover[F[_]](f: (A) => B)(s: S)(implicit ev0: Choice[[β$3$, γ$4$]Kleisli[[β$2$](Disj[Boolean], β$2$), β$3$, γ$4$]], ev1: Alternative[F]): F[T]

    try to map a function over this Prism_, failing if the Prism_ has no focus

  53. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  54. final def find(f: (A) => Boolean): (S) => Option[A]

    find the first focus of an AffineTraversal that satisfies a predicate, if there is any

    find the first focus of an AffineTraversal that satisfies a predicate, if there is any

    Definition Classes
    AffineTraversal0 → Getter0
  55. final def focus[C, D](f: (A) => C): Fold_[S, T, C, D]

    compose this Prism_ with a function lifted to a Getter_, having this Prism_ applied first

  56. def foldMap[R](s: S)(f: (A) => R)(implicit arg0: Monoid[R]): R
    Attributes
    protected
    Definition Classes
    Traversal0
  57. final def forall[R](s: S)(f: (A) => R)(implicit arg0: Heyting[R]): R

    test whether there is no focus or a predicate holds for the focus of a Fold, using a spire.algebra.lattice.Heyting algebra

    test whether there is no focus or a predicate holds for the focus of a Fold, using a spire.algebra.lattice.Heyting algebra

    Definition Classes
    Fold0
  58. def forall(f: (A) => Boolean): (S) => Boolean

    test whether there is no focus or a predicate holds for the focus of a Fold

    test whether there is no focus or a predicate holds for the focus of a Fold

    Definition Classes
    Fold0
  59. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  60. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  61. final def isEmpty(s: S): Boolean

    check if the Fold does not contain a focus

    check if the Fold does not contain a focus

    Definition Classes
    Fold0
  62. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  63. implicit def monoidBooleanDisj: Monoid[Disj[Boolean]]
    Definition Classes
    FoldInstances
  64. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  65. final def nonEmpty(s: S): Boolean

    check if the Fold contains a focus

    check if the Fold contains a focus

    Definition Classes
    Fold0
  66. final def notContains(a: A)(s: S)(implicit ev: Eq[A]): Boolean

    test whether the focus of a Getter does not contain a given value

    test whether the focus of a Getter does not contain a given value

    Definition Classes
    Getter0
  67. final def notExists(f: (A) => Boolean): (S) => Boolean

    test whether a predicate does not hold for the focus of a Getter

    test whether a predicate does not hold for the focus of a Getter

    Definition Classes
    Getter0
  68. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  69. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  70. final def over(f: (A) => B): (S) => T

    modify the focus type of a Prism_ using a function, resulting in a change of type to the full structure

    modify the focus type of a Prism_ using a function, resulting in a change of type to the full structure

    Definition Classes
    Prism_ → Setter0
  71. final def overF[F[_]](f: (A) => F[B])(s: S)(implicit arg0: Applicative[F]): F[T]

    synonym for traverse, flipped

    synonym for traverse, flipped

    Definition Classes
    Traversal0
  72. final def overOption(f: (A) => B): (S) => Option[T]

    modify the focus of an AffineTraversal using a function conditionally if it is not None, resulting in a change of type to the full structure

    modify the focus of an AffineTraversal using a function conditionally if it is not None, resulting in a change of type to the full structure

    Definition Classes
    AffineTraversal0
  73. final def preview(s: S): Option[A]

    view the first focus of a Fold, if there is any

    view the first focus of a Fold, if there is any

    Definition Classes
    Fold0
  74. final def review(b: B): T

    view the modified source of a Prism_

    view the modified source of a Prism_

    Definition Classes
    Prism_ → Review0
  75. final def set(b: B): (S) => T

    set the modified focus of a Setter

    set the modified focus of a Setter

    Definition Classes
    Setter0
  76. final def setOption(b: B): (S) => Option[T]

    set the focus of an AffineTraversal conditionally if it is not None

    set the focus of an AffineTraversal conditionally if it is not None

    Definition Classes
    AffineTraversal0
  77. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  78. def toString(): String
    Definition Classes
    AnyRef → Any
  79. final def traverse[F[_]](s: S)(f: (A) => F[B])(implicit arg0: Applicative[F]): F[T]

    modify the focus type of a Prism_ using a cats.Functor, resulting in a change of type to the full structure

    modify the focus type of a Prism_ using a cats.Functor, resulting in a change of type to the full structure

    Definition Classes
    Prism_ → Traversal0
  80. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  81. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  82. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Prism0[S, T, A, B]

Inherited from Review0[T, B]

Inherited from AffineTraversal0[S, T, A, B]

Inherited from Fold0[S, A]

Inherited from FoldInstances

Inherited from Getter0[S, A]

Inherited from Serializable

Inherited from Traversal0[S, T, A, B]

Inherited from Setter0[S, T, A, B]

Inherited from AnyRef

Inherited from Any

Ungrouped