Package org.h2.schema

Class FunctionAlias

  • All Implemented Interfaces:
    HasSQL

    public final class FunctionAlias
    extends UserDefinedFunction
    Represents a user-defined function, or alias.
    • Method Detail

      • newInstance

        public static FunctionAlias newInstance​(Schema schema,
                                                int id,
                                                java.lang.String name,
                                                java.lang.String javaClassMethod,
                                                boolean force)
        Create a new alias based on a method name.
        Parameters:
        schema - the schema
        id - the id
        name - the name
        javaClassMethod - the class and method name
        force - create the object even if the class or method does not exist
        Returns:
        the database object
      • newInstanceFromSource

        public static FunctionAlias newInstanceFromSource​(Schema schema,
                                                          int id,
                                                          java.lang.String name,
                                                          java.lang.String source,
                                                          boolean force)
        Create a new alias based on source code.
        Parameters:
        schema - the schema
        id - the id
        name - the name
        source - the source code
        force - create the object even if the class or method does not exist
        Returns:
        the database object
      • getDropSQL

        public java.lang.String getDropSQL()
        Description copied from class: DbObject
        Construct a DROP ... SQL statement for this object.
        Overrides:
        getDropSQL in class DbObject
        Returns:
        the SQL statement
      • getCreateSQL

        public java.lang.String getCreateSQL()
        Description copied from class: DbObject
        Construct the CREATE ... SQL statement for this object.
        Specified by:
        getCreateSQL in class DbObject
        Returns:
        the SQL statement
      • getType

        public int getType()
        Description copied from class: DbObject
        Get the object type.
        Specified by:
        getType in class DbObject
        Returns:
        the object type
      • removeChildrenAndResources

        public void removeChildrenAndResources​(SessionLocal session)
        Description copied from class: DbObject
        Delete all dependent children objects and resources of this object.
        Specified by:
        removeChildrenAndResources in class DbObject
        Parameters:
        session - the session
      • findJavaMethod

        public FunctionAlias.JavaMethod findJavaMethod​(Expression[] args)
        Find the Java method that matches the arguments.
        Parameters:
        args - the argument list
        Returns:
        the Java method
        Throws:
        DbException - if no matching method could be found
      • getJavaMethodName

        public java.lang.String getJavaMethodName()
      • getJavaMethods

        public FunctionAlias.JavaMethod[] getJavaMethods()
        Get the Java methods mapped by this function.
        Returns:
        the Java methods.
      • setDeterministic

        public void setDeterministic​(boolean deterministic)
      • isDeterministic

        public boolean isDeterministic()
      • getSource

        public java.lang.String getSource()