Package com.snowflake.snowpark_java

## Class UDFRegistration

- java.lang.Object
- - com.snowflake.snowpark_java.UDFRegistration

-     public class UDFRegistration
      extends java.lang.Object

  Provides methods to register lambdas and functions as UDFs in the Snowflake database. `Session.udf()` returns an object of this class.
  Since:
    0.12.0

- - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF0<?> func, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 0 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF1<?,​?> func, DataType input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 1 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF10<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 10 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF11<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 11 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF12<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 12 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF13<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 13 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF14<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 14 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF15<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 15 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF16<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 16 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF17<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 17 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF18<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 18 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF19<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 19 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF2<?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 2 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF20<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 20 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF21<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 21 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF22<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 22 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF3<?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 3 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF4<?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 4 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF5<?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 5 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF6<?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 6 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF7<?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 7 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF8<?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 8 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerPermanent​(java.lang.String name, JavaUDF9<?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output, java.lang.String stageLocation)` | Registers a Java Lambda of 9 argument as a Snowflake Java UDF.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF0<?> func, DataType output)` | Registers a Java Lambda of 0 argument as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF1<?,​?> func, DataType input, DataType output)` | Registers a Java Lambda of 1 argument as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF10<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 10 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF11<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 11 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF12<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 12 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF13<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 13 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF14<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 14 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF15<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 15 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF16<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 16 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF17<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 17 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF18<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 18 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF19<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 19 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF2<?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 2 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF20<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 20 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF21<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 21 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF22<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 22 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF3<?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 3 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF4<?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 4 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF5<?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 5 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF6<?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 6 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF7<?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 7 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF8<?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 8 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(JavaUDF9<?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 9 arguments as a temporary anonymous UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF0<?> func, DataType output)` | Registers a Java Lambda of 0 argument as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF1<?,​?> func, DataType input, DataType output)` | Registers a Java Lambda of 1 argument as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF10<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 10 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF11<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 11 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF12<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 12 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF13<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 13 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF14<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 14 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF15<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 15 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF16<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 16 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF17<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 17 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF18<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 18 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF19<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 19 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF2<?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 2 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF20<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 20 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF21<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 21 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF22<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 22 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF3<?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 3 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF4<?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 4 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF5<?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 5 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF6<?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 6 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF7<?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 7 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF8<?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 8 arguments as a temporary UDF that is scoped to this session.
    `UserDefinedFunction` | `registerTemporary​(java.lang.String name, JavaUDF9<?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func, DataType[] input, DataType output)` | Registers a Java Lambda of 9 arguments as a temporary UDF that is scoped to this session.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF0<?> func,
                                                       DataType output)

      Registers a Java Lambda of 0 argument as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF1<?,​?> func,
                                                       DataType input,
                                                       DataType output)

      Registers a Java Lambda of 1 argument as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF2<?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 2 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF3<?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 3 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF4<?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 4 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF5<?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 5 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF6<?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 6 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF7<?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 7 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF8<?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 8 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF9<?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 9 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF10<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 10 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF11<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 11 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF12<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 12 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF13<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 13 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF14<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 14 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF15<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 15 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF16<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 16 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF17<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 17 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF18<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 18 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF19<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 19 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF20<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 20 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF21<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 21 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(JavaUDF22<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 22 arguments as a temporary anonymous UDF that is scoped to this session.
      Parameters:
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF0<?> func,
                                                       DataType output)

      Registers a Java Lambda of 0 argument as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF1<?,​?> func,
                                                       DataType input,
                                                       DataType output)

      Registers a Java Lambda of 1 argument as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF2<?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 2 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF3<?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 3 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF4<?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 4 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF5<?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 5 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF6<?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 6 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF7<?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 7 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF8<?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 8 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF9<?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 9 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF10<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 10 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF11<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 11 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF12<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 12 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF13<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 13 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF14<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 14 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF15<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 15 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF16<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 16 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF17<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 17 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF18<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 18 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF19<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 19 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF20<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 20 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF21<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 21 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerTemporary

          public UserDefinedFunction registerTemporary​(java.lang.String name,
                                                       JavaUDF22<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output)

      Registers a Java Lambda of 22 arguments as a temporary UDF that is scoped to this session.
      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF0<?> func,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 0 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF1<?,​?> func,
                                                       DataType input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 1 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF2<?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 2 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF3<?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 3 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF4<?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 4 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF5<?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 5 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF6<?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 6 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF7<?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 7 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF8<?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 8 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF9<?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 9 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF10<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 10 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF11<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 11 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF12<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 12 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF13<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 13 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF14<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 14 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF15<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 15 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF16<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 16 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF17<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 17 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF18<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 18 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF19<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 19 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF20<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 20 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF21<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 21 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0

    - #### registerPermanent

          public UserDefinedFunction registerPermanent​(java.lang.String name,
                                                       JavaUDF22<?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?,​?> func,
                                                       DataType[] input,
                                                       DataType output,
                                                       java.lang.String stageLocation)

      Registers a Java Lambda of 22 argument as a Snowflake Java UDF.

      The function uploads the JAR files that the UDF depends upon to the specified stage. Each JAR file is uploaded to a subdirectory named after the MD5 checksum for the file.

      If you register multiple UDFs and specify the same stage location, any dependent JAR files used by those functions will only be uploaded once. The JAR file for the UDF code itself will be uploaded to a subdirectory named after the UDF.

      Parameters:
        `name` - the name temporary udf being registered.
        `func` - the Java Lambda to be registered.
        `input` - the UDF input `types.DataType`s
        `output` - the UDF return `types.DataType`
        `stageLocation` - a stage location that udf jar files being uploaded to.
      Returns:
        The result UserDefinedFunction reference
      Since:
        0.12.0