scalaz

PLensFamily

sealed abstract class PLensFamily[A1, A2, B1, B2] extends AnyRef

Partial Lens Families, offering a purely functional means to access and retrieve an optional field transitioning from type B1 to type B2 in a record that is simultaneously transitioning from type A1 to type A2. scalaz.PLens is a convenient alias for when A1 =:= A2, and B1 =:= B2.

The term field should not be interpreted restrictively to mean a member of a class. For example, a partial lens family can address the nth element of a List.

A1

The initial type of the record

A2

The final type of the record

B1

The initial type of the optional field

B2

The final type of the optional field

Source
PLens.scala
See also

scalaz.Lens

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. PLensFamily
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PLensFamily()

Abstract Value Members

  1. abstract def run(a: A1): Option[IndexedStore[B1, B2, A2]]

Concrete Value Members

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

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

    Definition Classes
    AnyRef → Any
  3. def %%=[A >: A2 <: A1, C](s: IndexedState[B1, B2, C]): PState[A, C]

  4. def %=[A >: A2 <: A1](f: (B1) ⇒ B2): PState[A, B2]

  5. def %==[A >: A2 <: A1](f: (B1) ⇒ B2): State[A, Unit]

  6. def ***[C1, C2, D1, D2](that: PLensFamily[C1, C2, D1, D2]): PLensFamily[(A1, C1), (A2, C2), (B1, D1), (B2, D2)]

    alias for product

  7. def ->>-[A >: A2 <: A1, C](f: ⇒ State[A, C]): PState[A, C]

  8. def :=[A >: A2 <: A1](b: ⇒ B2): PState[A, B2]

  9. def <=<[C1, C2](that: PLensFamily[C1, C2, A1, A2]): PLensFamily[C1, C2, B1, B2]

    alias for compose

  10. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  11. def =>=[A >: A2 <: A1](f: (B1) ⇒ B2): (A) ⇒ A

  12. def =?>=(f: (B1) ⇒ B2): (A1) ⇒ Option[A2]

  13. def >-[A >: A2 <: A1, C](f: (B1) ⇒ C): PState[A, C]

  14. def >=>[C1, C2](that: PLensFamily[B1, B2, C1, C2]): PLensFamily[A1, A2, C1, C2]

    alias for andThen

  15. def >>-[A >: A2 <: A1, C](f: (B1) ⇒ State[A, C]): PState[A, C]

  16. def andThen[C1, C2](that: PLensFamily[B1, B2, C1, C2]): PLensFamily[A1, A2, C1, C2]

  17. def apply(a: A1): Option[IndexedStore[B1, B2, A2]]

  18. def as(f: (B1) ⇒ A1, a: A1): A1

    If the Partial Lens is null, then return the target object, otherwise run the function on its projection.

  19. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  20. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. def compose[C1, C2](that: PLensFamily[C1, C2, A1, A2]): PLensFamily[C1, C2, B1, B2]

    Partial Lenses can be composed

  22. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  24. def exists(p: (B1) ⇒ Boolean, a: A1): Boolean

  25. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. def forall(p: (B1) ⇒ Boolean, a: A1): Boolean

  27. def get(a: A1): Option[B1]

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

    Definition Classes
    AnyRef → Any
  29. def getK: Kleisli[Option, A1, B1]

  30. def getOr(a: A1, b: ⇒ B1): B1

    If the Partial Lens is null, then return the given default value.

  31. def getOrZ(a: A1)(implicit M: Monoid[B1]): B1

  32. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  33. def is(a: A1): Boolean

  34. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  35. def isNot(a: A1): Boolean

  36. def kleisli: Kleisli[Option, A1, IndexedStore[B1, B2, A2]]

  37. def mod[A >: A2 <: A1](f: (B1) ⇒ B2, a: A): A

    Modify the potential value viewed through the partial lens

  38. def modg(f: (B1) ⇒ B2, a: A1): Option[A2]

  39. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  42. def product[C1, C2, D1, D2](that: PLensFamily[C1, C2, D1, D2]): PLensFamily[(A1, C1), (A2, C2), (B1, D1), (B2, D2)]

    Two disjoint partial lenses can be paired

  43. def set(a: A1, b: B2): Option[A2]

  44. def setK(a: A1): Kleisli[Option, B2, A2]

  45. def setOr(a: A1, b: B2, d: ⇒ A2): A2

  46. def setOrZ(a: A1, b: B2)(implicit M: Monoid[A2]): A2

  47. def st: PState[A1, B1]

  48. def sum[C1, C2](that: ⇒ PLensFamily[C1, C2, B1, B2]): PLensFamily[\/[A1, C1], \/[A2, C2], B1, B2]

    Two partial lenses that view a value of the same type can be joined

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

    Definition Classes
    AnyRef
  50. def toString(): String

    Definition Classes
    AnyRef → Any
  51. def trySet(a: A1): Option[(B2) ⇒ A2]

  52. def trySetK: Kleisli[Option, A1, (B2) ⇒ A2]

  53. def trySetOr(a: A1, d: ⇒ (B2) ⇒ A2): (B2) ⇒ A2

  54. def trySetOrZ(a: A1)(implicit M: Monoid[A2]): (B2) ⇒ A2

  55. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  58. def xmapA[X1, X2](f: (A2) ⇒ X2)(g: (X1) ⇒ A1): PLensFamily[X1, X2, B1, B2]

  59. def xmapB[X1, X2](f: (B1) ⇒ X1)(g: (X2) ⇒ B2): PLensFamily[A1, A2, X1, X2]

  60. def xmapbA[X, A >: A2 <: A1](b: BijectionT.Bijection[A, X]): PLensFamily[X, X, B1, B2]

  61. def xmapbB[X, B >: B1 <: B2](b: BijectionT.Bijection[B, X]): PLensFamily[A1, A2, X, X]

  62. def |||[C1, C2](that: ⇒ PLensFamily[C1, C2, B1, B2]): PLensFamily[\/[A1, C1], \/[A2, C2], B1, B2]

    Alias for sum

Inherited from AnyRef

Inherited from Any

Ungrouped