Package org.h2.schema

Class 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.
    • Field Detail

      • id

        private final int id
      • method

        private final java.lang.reflect.Method method
      • dataType

        private final TypeInfo dataType
      • hasConnectionParam

        private boolean hasConnectionParam
      • varArgs

        private boolean varArgs
      • varArgClass

        private java.lang.Class<?> varArgClass
      • paramCount

        private int paramCount
    • Constructor Detail

      • JavaMethod

        JavaMethod​(java.lang.reflect.Method method,
                   int id)
    • 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
      • execute

        private java.lang.Object execute​(SessionLocal session,
                                         Expression[] args,
                                         boolean columnList)
      • 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()