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
- Alphabetic
- By Inheritance
- Prism_
- Prism0
- Review0
- AffineTraversal0
- Fold0
- FoldInstances
- Getter0
- Serializable
- Traversal0
- Setter0
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Prism_()
Abstract Value Members
- 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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- final def asAPrism: APrism_[S, T, A, B]
- final def asFold: Fold_[S, T, A, B]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- 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
- 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
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- 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
- 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
- def foldMap[R](s: S)(f: (A) => R)(implicit arg0: Monoid[R]): R
- Attributes
- protected
- Definition Classes
- Traversal0
- 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
- 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
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- implicit def monoidBooleanDisj: Monoid[Disj[Boolean]]
- Definition Classes
- FoldInstances
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def nonEmpty(s: S): Boolean
check if the Fold contains a focus
check if the Fold contains a focus
- Definition Classes
- Fold0
- 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
- 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
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- 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
- 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
- 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
- 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
- final def review(b: B): T
view the modified source of a Prism_
- final def set(b: B): (S) => T
set the modified focus of a Setter
set the modified focus of a Setter
- Definition Classes
- Setter0
- 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
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()