Class Over<S,​T,​A,​B>

  • Type Parameters:
    S - the type of the larger value
    T - the type of the larger updated value
    A - the type of the smaller retrieving value
    B - the type of the smaller setting value
    All Implemented Interfaces:
    Fn1<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​Fn1<Fn1<? super A,​? extends B>,​Fn1<S,​T>>>, Fn2<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​Fn1<? super A,​? extends B>,​Fn1<S,​T>>, Fn3<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​Fn1<? super A,​? extends B>,​S,​T>, Applicative<Fn1<Fn1<? super A,​? extends B>,​Fn1<S,​T>>,​Fn1<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​?>>, Cartesian<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​Fn1<Fn1<? super A,​? extends B>,​Fn1<S,​T>>,​Fn1<?,​?>>, Cocartesian<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​Fn1<Fn1<? super A,​? extends B>,​Fn1<S,​T>>,​Fn1<?,​?>>, Contravariant<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​Profunctor<?,​Fn1<Fn1<? super A,​? extends B>,​Fn1<S,​T>>,​Fn1<?,​?>>>, Functor<Fn1<Fn1<? super A,​? extends B>,​Fn1<S,​T>>,​Fn1<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​?>>, Profunctor<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​Fn1<Fn1<? super A,​? extends B>,​Fn1<S,​T>>,​Fn1<?,​?>>, Monad<Fn1<Fn1<? super A,​? extends B>,​Fn1<S,​T>>,​Fn1<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​?>>, MonadReader<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​Fn1<Fn1<? super A,​? extends B>,​Fn1<S,​T>>,​Fn1<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​?>>, MonadRec<Fn1<Fn1<? super A,​? extends B>,​Fn1<S,​T>>,​Fn1<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​?>>, MonadWriter<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​Fn1<Fn1<? super A,​? extends B>,​Fn1<S,​T>>,​Fn1<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​?>>

    public final class Over<S,​T,​A,​B>
    extends java.lang.Object
    implements Fn3<Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B>,​Fn1<? super A,​? extends B>,​S,​T>
    Given an Optic, a function from A to B, and a "larger" value S, produce a T by retrieving the A from the S, applying the function, and updating the S with the B resulting from the function.

    This function is similar to Set, except that it allows the setting value B to be derived from S via function application, rather than provided.

    See Also:
    Set, View
    • Field Detail

      • INSTANCE

        private static final Over<?,​?,​?,​?> INSTANCE
    • Constructor Detail

      • Over

        private Over()
    • Method Detail

      • over

        public static <S,​T,​A,​B> Over<S,​T,​A,​B> over()
      • over

        public static <S,​T,​A,​B> Fn2<Fn1<? super A,​? extends B>,​S,​T> over​(Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B> optic)
      • over

        public static <S,​T,​A,​B> Fn1<S,​T> over​(Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B> optic,
                                                                      Fn1<? super A,​? extends B> fn)
      • over

        public static <S,​T,​A,​B> T over​(Optic<? super Fn1<?,​?>,​? super Identity<?>,​S,​T,​A,​B> optic,
                                                         Fn1<? super A,​? extends B> fn,
                                                         S s)