Class Uncurry

java.lang.Object
gov.nasa.jpl.aerie.json.Uncurry

public final class Uncurry extends Object
A set of utility functions for transforming the fields of an object parser.

The parsers produced from ProductParsers work with iteratively nested Pairs, which are inconvenient to work with directly. The static functions in this class let you use an n-ary function where a nested tuple would normally be given, or return an n-tuple rather than a series of nested 2-tuples.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
     
    static interface 
     
    static interface 
     
    static interface 
     
    static interface 
     
    static interface 
     
    static interface 
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <T1> T1
    tuple(T1 t1)
     
    static <T1, T2> org.apache.commons.lang3.tuple.Pair<T1,T2>
    tuple(T1 t1, T2 t2)
     
    static <T1, T2, T3>
    org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>
    tuple(T1 t1, T2 t2, T3 t3)
     
    static <T1, T2, T3, T4>
    org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>
    tuple(T1 t1, T2 t2, T3 t3, T4 t4)
     
    static <T1, T2, T3, T4, T5>
    org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>
    tuple(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
     
    static <T1, T2, T3, T4, T5, T6>
    org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>
    tuple(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
     
    static <T1, T2, T3, T4, T5, T6, T7>
    org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,T7>
    tuple(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7)
     
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,T7>,T8>
    tuple(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
     
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,T7>,T8>,T9>
    tuple(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9)
     
    static <Result, T1, T2, T3>
    Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,Result>
    untuple(Uncurry.Function3<Result,T1,T2,T3> f)
     
    static <Result, T1, T2, T3, T4>
    Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,Result>
    untuple(Uncurry.Function4<Result,T1,T2,T3,T4> f)
     
    static <Result, T1, T2, T3, T4, T5>
    Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,Result>
    untuple(Uncurry.Function5<Result,T1,T2,T3,T4,T5> f)
     
    static <Result, T1, T2, T3, T4, T5, T6>
    Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,Result>
    untuple(Uncurry.Function6<Result,T1,T2,T3,T4,T5,T6> f)
     
    static <Result, T1, T2, T3, T4, T5, T6, T7>
    Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,T7>,Result>
    untuple(Uncurry.Function7<Result,T1,T2,T3,T4,T5,T6,T7> f)
     
    static <Result, T1, T2, T3, T4, T5, T6, T7, T8>
    Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,T7>,T8>,Result>
    untuple(Uncurry.Function8<Result,T1,T2,T3,T4,T5,T6,T7,T8> f)
     
    static <Result, T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,T7>,T8>,T9>,Result>
    untuple(Uncurry.Function9<Result,T1,T2,T3,T4,T5,T6,T7,T8,T9> f)
     
    static <Result, T1, T2>
    Function<org.apache.commons.lang3.tuple.Pair<T1,T2>,Result>
    untuple(BiFunction<T1,T2,Result> f)
     
    static <Result, T1>
    Function<T1,Result>
    untuple(Function<T1,Result> f)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • untuple

      public static <Result, T1> Function<T1,Result> untuple(Function<T1,Result> f)
    • untuple

      public static <Result, T1, T2> Function<org.apache.commons.lang3.tuple.Pair<T1,T2>,Result> untuple(BiFunction<T1,T2,Result> f)
    • untuple

      public static <Result, T1, T2, T3> Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,Result> untuple(Uncurry.Function3<Result,T1,T2,T3> f)
    • untuple

      public static <Result, T1, T2, T3, T4> Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,Result> untuple(Uncurry.Function4<Result,T1,T2,T3,T4> f)
    • untuple

      public static <Result, T1, T2, T3, T4, T5> Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,Result> untuple(Uncurry.Function5<Result,T1,T2,T3,T4,T5> f)
    • untuple

      public static <Result, T1, T2, T3, T4, T5, T6> Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,Result> untuple(Uncurry.Function6<Result,T1,T2,T3,T4,T5,T6> f)
    • untuple

      public static <Result, T1, T2, T3, T4, T5, T6, T7> Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,T7>,Result> untuple(Uncurry.Function7<Result,T1,T2,T3,T4,T5,T6,T7> f)
    • untuple

      public static <Result, T1, T2, T3, T4, T5, T6, T7, T8> Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,T7>,T8>,Result> untuple(Uncurry.Function8<Result,T1,T2,T3,T4,T5,T6,T7,T8> f)
    • untuple

      public static <Result, T1, T2, T3, T4, T5, T6, T7, T8, T9> Function<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,T7>,T8>,T9>,Result> untuple(Uncurry.Function9<Result,T1,T2,T3,T4,T5,T6,T7,T8,T9> f)
    • tuple

      public static <T1> T1 tuple(T1 t1)
    • tuple

      public static <T1, T2> org.apache.commons.lang3.tuple.Pair<T1,T2> tuple(T1 t1, T2 t2)
    • tuple

      public static <T1, T2, T3> org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3> tuple(T1 t1, T2 t2, T3 t3)
    • tuple

      public static <T1, T2, T3, T4> org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4> tuple(T1 t1, T2 t2, T3 t3, T4 t4)
    • tuple

      public static <T1, T2, T3, T4, T5> org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5> tuple(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
    • tuple

      public static <T1, T2, T3, T4, T5, T6> org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6> tuple(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
    • tuple

      public static <T1, T2, T3, T4, T5, T6, T7> org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,T7> tuple(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7)
    • tuple

      public static <T1, T2, T3, T4, T5, T6, T7, T8> org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,T7>,T8> tuple(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
    • tuple

      public static <T1, T2, T3, T4, T5, T6, T7, T8, T9> org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<org.apache.commons.lang3.tuple.Pair<T1,T2>,T3>,T4>,T5>,T6>,T7>,T8>,T9> tuple(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9)