Package org.h2.schema

Class FunctionAlias

  • All Implemented Interfaces:
    HasSQL

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

      • methodName

        private java.lang.String methodName
      • source

        private java.lang.String source
      • deterministic

        private boolean deterministic
    • Constructor Detail

      • FunctionAlias

        private FunctionAlias​(Schema schema,
                              int id,
                              java.lang.String name)
    • 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
      • init

        private void init​(boolean force)
      • load

        private void load()
      • loadFromSource

        private void loadFromSource()
      • loadClass

        private void loadClass()
      • getMethodSignature

        private static java.lang.String getMethodSignature​(java.lang.reflect.Method m)
      • 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()