Package org.h2.schema

Class FunctionAlias

All Implemented Interfaces:
HasSQL

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

  • Constructor Details

    • FunctionAlias

      private FunctionAlias(Schema schema, int id, String name)
  • Method Details

    • newInstance

      public static FunctionAlias newInstance(Schema schema, int id, String name, 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, String name, 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 String getMethodSignature(Method m)
    • getDropSQL

      public 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 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 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 String getSource()