Package fj

Class P7<A,B,C,D,E,F,G>

java.lang.Object
fj.P7<A,B,C,D,E,F,G>

public abstract class P7<A,B,C,D,E,F,G> extends Object
A product-7.
  • Constructor Summary

    Constructors
    Constructor
    Description
    P7()
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <A, B, C, D, E, F$, G>
    F<P7<A,B,C,D,E,F$,G>,A>
    __1()
    Returns a function that returns the first element of a product.
    static <A, B, C, D, E, F$, G>
    F<P7<A,B,C,D,E,F$,G>,B>
    __2()
    Returns a function that returns the second element of a product.
    static <A, B, C, D, E, F$, G>
    F<P7<A,B,C,D,E,F$,G>,C>
    __3()
    Returns a function that returns the third element of a product.
    static <A, B, C, D, E, F$, G>
    F<P7<A,B,C,D,E,F$,G>,D>
    __4()
    Returns a function that returns the fourth element of a product.
    static <A, B, C, D, E, F$, G>
    F<P7<A,B,C,D,E,F$,G>,E>
    __5()
    Returns a function that returns the fifth element of a product.
    static <A, B, C, D, E, F$, G>
    F<P7<A,B,C,D,E,F$,G>,F$>
    __6()
    Returns a function that returns the sixth element of a product.
    static <A, B, C, D, E, F$, G>
    F<P7<A,B,C,D,E,F$,G>,G>
    __7()
    Returns a function that returns the seventh element of a product.
    abstract A
    _1()
    Access the first element of the product.
    final P1<A>
    _1_()
    Returns the 1-product projection over the first element.
    abstract B
    _2()
    Access the second element of the product.
    final P1<B>
    _2_()
    Returns the 1-product projection over the second element.
    abstract C
    _3()
    Access the third element of the product.
    final P1<C>
    _3_()
    Returns the 1-product projection over the third element.
    abstract D
    _4()
    Access the fourth element of the product.
    final P1<D>
    _4_()
    Returns the 1-product projection over the fourth element.
    abstract E
    _5()
    Access the fifth element of the product.
    final P1<E>
    _5_()
    Returns the 1-product projection over the fifth element.
    abstract F
    _6()
    Access the sixth element of the product.
    final P1<F>
    _6_()
    Returns the 1-product projection over the sixth element.
    abstract G
    _7()
    Access the seventh element of the product.
    final P1<G>
    _7_()
    Returns the 1-product projection over the seventh element.
    final <H> P8<A,B,C,D,E,F,G,H>
    append(H el)
    Creates a P8 by adding the given element to the current P7
    final boolean
    equals(Object other)
     
    final int
     
    final <X> P7<X,B,C,D,E,F,G>
    map1(F<A,X> f)
    Map the first element of the product.
    final <X> P7<A,X,C,D,E,F,G>
    map2(F<B,X> f)
    Map the second element of the product.
    final <X> P7<A,B,X,D,E,F,G>
    map3(F<C,X> f)
    Map the third element of the product.
    final <X> P7<A,B,C,X,E,F,G>
    map4(F<D,X> f)
    Map the fourth element of the product.
    final <X> P7<A,B,C,D,X,F,G>
    map5(F<E,X> f)
    Map the fifth element of the product.
    final <X> P7<A,B,C,D,E,X,G>
    map6(F<F,X> f)
    Map the sixth element of the product.
    final <X> P7<A,B,C,D,E,F,X>
    map7(F<G,X> f)
    Map the seventh element of the product.
    final P7<A,B,C,D,E,F,G>
    Provides a memoising P7 that remembers its values.
    final String
     

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • P7

      public P7()
  • Method Details

    • _1

      public abstract A _1()
      Access the first element of the product.
      Returns:
      The first element of the product.
    • _2

      public abstract B _2()
      Access the second element of the product.
      Returns:
      The second element of the product.
    • _3

      public abstract C _3()
      Access the third element of the product.
      Returns:
      The third element of the product.
    • _4

      public abstract D _4()
      Access the fourth element of the product.
      Returns:
      The fourth element of the product.
    • _5

      public abstract E _5()
      Access the fifth element of the product.
      Returns:
      The fifth element of the product.
    • _6

      public abstract F _6()
      Access the sixth element of the product.
      Returns:
      The sixth element of the product.
    • _7

      public abstract G _7()
      Access the seventh element of the product.
      Returns:
      The seventh element of the product.
    • map1

      public final <X> P7<X,B,C,D,E,F,G> map1(F<A,X> f)
      Map the first element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map2

      public final <X> P7<A,X,C,D,E,F,G> map2(F<B,X> f)
      Map the second element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map3

      public final <X> P7<A,B,X,D,E,F,G> map3(F<C,X> f)
      Map the third element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map4

      public final <X> P7<A,B,C,X,E,F,G> map4(F<D,X> f)
      Map the fourth element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map5

      public final <X> P7<A,B,C,D,X,F,G> map5(F<E,X> f)
      Map the fifth element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map6

      public final <X> P7<A,B,C,D,E,X,G> map6(F<F,X> f)
      Map the sixth element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • map7

      public final <X> P7<A,B,C,D,E,F,X> map7(F<G,X> f)
      Map the seventh element of the product.
      Parameters:
      f - The function to map with.
      Returns:
      A product with the given function applied.
    • _1_

      public final P1<A> _1_()
      Returns the 1-product projection over the first element.
      Returns:
      the 1-product projection over the first element.
    • _2_

      public final P1<B> _2_()
      Returns the 1-product projection over the second element.
      Returns:
      the 1-product projection over the second element.
    • _3_

      public final P1<C> _3_()
      Returns the 1-product projection over the third element.
      Returns:
      the 1-product projection over the third element.
    • _4_

      public final P1<D> _4_()
      Returns the 1-product projection over the fourth element.
      Returns:
      the 1-product projection over the fourth element.
    • _5_

      public final P1<E> _5_()
      Returns the 1-product projection over the fifth element.
      Returns:
      the 1-product projection over the fifth element.
    • _6_

      public final P1<F> _6_()
      Returns the 1-product projection over the sixth element.
      Returns:
      the 1-product projection over the sixth element.
    • _7_

      public final P1<G> _7_()
      Returns the 1-product projection over the seventh element.
      Returns:
      the 1-product projection over the seventh element.
    • append

      public final <H> P8<A,B,C,D,E,F,G,H> append(H el)
      Creates a P8 by adding the given element to the current P7
      Parameters:
      el - the element to append
      Returns:
      A P8 containing the original P7 with the extra element added at the end
    • memo

      public final P7<A,B,C,D,E,F,G> memo()
      Provides a memoising P7 that remembers its values.
      Returns:
      A P7 that calls this P7 once for any given element and remembers the value for subsequent calls.
    • __1

      public static <A, B, C, D, E, F$, G> F<P7<A,B,C,D,E,F$,G>,A> __1()
      Returns a function that returns the first element of a product.
      Returns:
      A function that returns the first element of a product.
    • __2

      public static <A, B, C, D, E, F$, G> F<P7<A,B,C,D,E,F$,G>,B> __2()
      Returns a function that returns the second element of a product.
      Returns:
      A function that returns the second element of a product.
    • __3

      public static <A, B, C, D, E, F$, G> F<P7<A,B,C,D,E,F$,G>,C> __3()
      Returns a function that returns the third element of a product.
      Returns:
      A function that returns the third element of a product.
    • __4

      public static <A, B, C, D, E, F$, G> F<P7<A,B,C,D,E,F$,G>,D> __4()
      Returns a function that returns the fourth element of a product.
      Returns:
      A function that returns the fourth element of a product.
    • __5

      public static <A, B, C, D, E, F$, G> F<P7<A,B,C,D,E,F$,G>,E> __5()
      Returns a function that returns the fifth element of a product.
      Returns:
      A function that returns the fifth element of a product.
    • __6

      public static <A, B, C, D, E, F$, G> F<P7<A,B,C,D,E,F$,G>,F$> __6()
      Returns a function that returns the sixth element of a product.
      Returns:
      A function that returns the sixth element of a product.
    • __7

      public static <A, B, C, D, E, F$, G> F<P7<A,B,C,D,E,F$,G>,G> __7()
      Returns a function that returns the seventh element of a product.
      Returns:
      A function that returns the seventh element of a product.
    • toString

      public final String toString()
      Overrides:
      toString in class Object
    • equals

      public final boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object