org.h2.engine
Class FunctionAlias

java.lang.Object
  extended by org.h2.engine.DbObjectBase
      extended by org.h2.engine.FunctionAlias
All Implemented Interfaces:
DbObject

public class FunctionAlias
extends DbObjectBase

Represents a user-defined function, or alias.

Author:
Thomas Mueller, Gary Tong

Nested Class Summary
static class FunctionAlias.JavaMethod
          There may be multiple Java methods that match a function name.
 
Field Summary
 
Fields inherited from class org.h2.engine.DbObjectBase
comment, database, trace
 
Fields inherited from interface org.h2.engine.DbObject
AGGREGATE, COMMENT, CONSTANT, CONSTRAINT, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, TABLE_OR_VIEW, TRIGGER, USER, USER_DATATYPE
 
Constructor Summary
FunctionAlias(Database db, int id, java.lang.String name, java.lang.String javaClassMethod, boolean force)
           
 
Method Summary
 void checkRename()
          Check if this object can be renamed.
 FunctionAlias.JavaMethod findJavaMethod(Expression[] args)
          Find the Java method that matches the arguments.
 java.lang.String getCreateSQL()
          Build a SQL statement to re-create this object.
 java.lang.String getCreateSQLForCopy(Table table, java.lang.String quotedName)
          Build a SQL statement to re-create the object, or to create a copy of the object with a different name or referencing a different table
 java.lang.String getDropSQL()
          Build a SQL statement to drop this object.
 java.lang.String getJavaClassName()
           
 java.lang.String getJavaMethodName()
           
 FunctionAlias.JavaMethod[] getJavaMethods()
          Get the Java methods mapped by this function.
 int getType()
          Get the object type.
 boolean isDeterministic()
           
 void removeChildrenAndResources(Session session)
          Remove all dependent objects and free all resources (files, blocks in files) of this object.
 void setDeterministic(boolean deterministic)
           
 
Methods inherited from class org.h2.engine.DbObjectBase
getChildren, getComment, getDatabase, getHeadPos, getId, getModificationId, getName, getSQL, initDbObjectBase, invalidate, isTemporary, rename, setComment, setModified, setObjectName, setTemporary, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FunctionAlias

public FunctionAlias(Database db,
                     int id,
                     java.lang.String name,
                     java.lang.String javaClassMethod,
                     boolean force)
              throws java.sql.SQLException
Throws:
java.sql.SQLException
Method Detail

getCreateSQLForCopy

public java.lang.String getCreateSQLForCopy(Table table,
                                            java.lang.String quotedName)
Description copied from class: DbObjectBase
Build a SQL statement to re-create the object, or to create a copy of the object with a different name or referencing a different table

Specified by:
getCreateSQLForCopy in interface DbObject
Specified by:
getCreateSQLForCopy in class DbObjectBase
Parameters:
table - the new table name
quotedName - the new quoted name
Returns:
the SQL statement

getDropSQL

public java.lang.String getDropSQL()
Description copied from class: DbObjectBase
Build a SQL statement to drop this object.

Specified by:
getDropSQL in interface DbObject
Specified by:
getDropSQL in class DbObjectBase
Returns:
the SQL statement

getCreateSQL

public java.lang.String getCreateSQL()
Description copied from class: DbObjectBase
Build a SQL statement to re-create this object.

Specified by:
getCreateSQL in interface DbObject
Specified by:
getCreateSQL in class DbObjectBase
Returns:
the SQL statement

getType

public int getType()
Description copied from class: DbObjectBase
Get the object type.

Specified by:
getType in interface DbObject
Specified by:
getType in class DbObjectBase
Returns:
the object type

removeChildrenAndResources

public void removeChildrenAndResources(Session session)
                                throws java.sql.SQLException
Description copied from class: DbObjectBase
Remove all dependent objects and free all resources (files, blocks in files) of this object.

Specified by:
removeChildrenAndResources in interface DbObject
Specified by:
removeChildrenAndResources in class DbObjectBase
Parameters:
session - the session
Throws:
java.sql.SQLException

checkRename

public void checkRename()
                 throws java.sql.SQLException
Description copied from class: DbObjectBase
Check if this object can be renamed. System objects may not be renamed.

Specified by:
checkRename in interface DbObject
Specified by:
checkRename in class DbObjectBase
Throws:
java.sql.SQLException - if renaming is not allowed

findJavaMethod

public FunctionAlias.JavaMethod findJavaMethod(Expression[] args)
                                        throws java.sql.SQLException
Find the Java method that matches the arguments.

Parameters:
args - the argument list
Returns:
the Java method
Throws:
java.sql.SQLException - if no matching method could be found

getJavaClassName

public java.lang.String getJavaClassName()

getJavaMethodName

public java.lang.String getJavaMethodName()

getJavaMethods

public FunctionAlias.JavaMethod[] getJavaMethods()
                                          throws java.sql.SQLException
Get the Java methods mapped by this function.

Returns:
the Java methods.
Throws:
java.sql.SQLException

setDeterministic

public void setDeterministic(boolean deterministic)

isDeterministic

public boolean isDeterministic()