Package org.h2.schema

# Class FunctionAlias.JavaMethod

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

All Implemented Interfaces:
  `Comparable<FunctionAlias.JavaMethod>`

Enclosing class:
  `FunctionAlias`

public static class FunctionAlias.JavaMethod extends Object implements 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

Modifier and Type
Method
Description
`int`
`compareTo(FunctionAlias.JavaMethod m)`
`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, ResultSet resultSet, int maxrows)`
Create a result for the given result set.
`String`
`toString()`

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

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

## Method Details

### toString

public String toString()

Overrides:
  `toString` in class `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, ResultSet resultSet, int maxrows)
Create a result for the given result set.

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

### getColumnClasses

public 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 `Comparable<FunctionAlias.JavaMethod>`