Class/Object

monocle

PSetter

Related Docs: object PSetter | package monocle

Permalink

abstract class PSetter[S, T, A, B] extends Serializable

A PSetter is a generalisation of Functor map:

PSetter stands for Polymorphic Setter as it set and modify methods change a type A to B and S to T. Setter is a type alias for PSetter restricted to monomorphic updates:

type Setter[S, A] = PSetter[S, S, A, A]

PTraversal, POptional, PPrism, PLens and PIso are valid PSetter

S

the source of a PSetter

T

the modified source of a PSetter

A

the target of a PSetter

B

the modified target of a PSetter

Self Type
PSetter[S, T, A, B]
See also

monocle.law.SetterLaws

Linear Supertypes
Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. PSetter
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new PSetter()

    Permalink

Abstract Value Members

  1. abstract def modify(f: (A) ⇒ B): (S) ⇒ T

    Permalink

    modify polymorphically the target of a PSetter with a function

  2. abstract def set(b: B): (S) ⇒ T

    Permalink

    set polymorphically the target of a PSetter with a value

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. final def ^<->[C, D](other: PIso[A, B, C, D]): PSetter[S, T, C, D]

    Permalink

    alias to composeIso

    alias to composeIso

    Annotations
    @inline()
  5. final def ^<-?[C, D](other: PPrism[A, B, C, D]): PSetter[S, T, C, D]

    Permalink

    alias to composePrism

    alias to composePrism

    Annotations
    @inline()
  6. final def ^|->[C, D](other: PLens[A, B, C, D]): PSetter[S, T, C, D]

    Permalink

    alias to composeLens

    alias to composeLens

    Annotations
    @inline()
  7. final def ^|->>[C, D](other: PTraversal[A, B, C, D]): PSetter[S, T, C, D]

    Permalink

    alias to composeTraversal

    alias to composeTraversal

    Annotations
    @inline()
  8. final def ^|-?[C, D](other: POptional[A, B, C, D]): PSetter[S, T, C, D]

    Permalink

    alias to composeOptional

    alias to composeOptional

    Annotations
    @inline()
  9. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  10. final def choice[S1, T1](other: PSetter[S1, T1, A, B]): PSetter[\/[S, S1], \/[T, T1], A, B]

    Permalink

    join two PSetter with the same target

    join two PSetter with the same target

    Annotations
    @inline()
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. final def composeIso[C, D](other: PIso[A, B, C, D]): PSetter[S, T, C, D]

    Permalink

    compose a PSetter with a PIso

    compose a PSetter with a PIso

    Annotations
    @inline()
  13. final def composeLens[C, D](other: PLens[A, B, C, D]): PSetter[S, T, C, D]

    Permalink

    compose a PSetter with a PLens

    compose a PSetter with a PLens

    Annotations
    @inline()
  14. final def composeOptional[C, D](other: POptional[A, B, C, D]): PSetter[S, T, C, D]

    Permalink

    compose a PSetter with a POptional

    compose a PSetter with a POptional

    Annotations
    @inline()
  15. final def composePrism[C, D](other: PPrism[A, B, C, D]): PSetter[S, T, C, D]

    Permalink

    compose a PSetter with a PPrism

    compose a PSetter with a PPrism

    Annotations
    @inline()
  16. final def composeSetter[C, D](other: PSetter[A, B, C, D]): PSetter[S, T, C, D]

    Permalink

    compose a PSetter with a PSetter

    compose a PSetter with a PSetter

    Annotations
    @inline()
  17. final def composeTraversal[C, D](other: PTraversal[A, B, C, D]): PSetter[S, T, C, D]

    Permalink

    compose a PSetter with a PTraversal

    compose a PSetter with a PTraversal

    Annotations
    @inline()
  18. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  20. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  21. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  22. def hashCode(): Int

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

    Permalink
    Definition Classes
    Any
  24. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  27. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  28. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  29. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. final def sum[S1, T1](other: PSetter[S1, T1, A, B]): PSetter[\/[S, S1], \/[T, T1], A, B]

    Permalink
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 1.2.0) use choice

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped