org.h2.schema

## Class FunctionAlias.JavaMethod

- java.lang.Object
- - org.h2.schema.FunctionAlias.JavaMethod

All Implemented Interfaces:
  java.lang.Comparable<FunctionAlias.JavaMethod>

Enclosing class:
  FunctionAlias

    public static class FunctionAlias.JavaMethod
    extends java.lang.Object
    implements java.lang.Comparable<FunctionAlias.JavaMethod>

There may be multiple Java methods that match a function name. Each method must have a different number of parameters however. This helper class represents one such method.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`int` `compareTo(FunctionAlias.JavaMethod m)`
`java.lang.Class<?>[]` `getColumnClasses()`
`TypeInfo` `getDataType()` Returns data type information for regular functions or `null` for table value functions.
`int` `getParameterCount()`
`ResultInterface` `getTableValue(SessionLocal session, Expression[] args, boolean columnList)` Call the table user-defined function and return the value.
`Value` `getValue(SessionLocal session, Expression[] args, boolean columnList)` Call the user-defined function and return the value.
`boolean` `hasConnectionParam()` Check if this function requires a database connection.
`boolean` `isVarArgs()`
`static ResultInterface` `resultSetToResult(SessionLocal session, java.sql.ResultSet rs, int maxrows)` Create a result for the given result set.
`java.lang.String` `toString()`

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

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

### Method Detail

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### hasConnectionParam

    public boolean hasConnectionParam()

Check if this function requires a database connection.

Returns:
  if the function requires a connection

#### getValue

    public Value getValue(SessionLocal session,
                          Expression[] args,
                          boolean columnList)

Call the user-defined function and return the value.

Parameters:
  `session` - the session
  `args` - the argument list
  `columnList` - true if the function should only return the column list
Returns:
  the value

#### getTableValue

    public ResultInterface getTableValue(SessionLocal session,
                                         Expression[] args,
                                         boolean columnList)

Call the table user-defined function and return the value.

Parameters:
  `session` - the session
  `args` - the argument list
  `columnList` - true if the function should only return the column list
Returns:
  the value

#### resultSetToResult

    public static ResultInterface resultSetToResult(SessionLocal session,
                                                    java.sql.ResultSet rs,
                                                    int maxrows)

Create a result for the given result set.

Parameters:
  `session` - the session
  `rs` - the result set
  `maxrows` - the maximum number of rows to read (0 to just read the meta data)
Returns:
  the value

#### getColumnClasses

    public java.lang.Class<?>[] getColumnClasses()

#### getDataType

    public TypeInfo getDataType()

Returns data type information for regular functions or `null` for table value functions.

Returns:
  data type information for regular functions or `null` for table value functions

#### getParameterCount

    public int getParameterCount()

#### isVarArgs

    public boolean isVarArgs()

#### compareTo

    public int compareTo(FunctionAlias.JavaMethod m)

Specified by:
  `compareTo` in interface `java.lang.Comparable<FunctionAlias.JavaMethod>`