Package org.h2.schema
Class FunctionAlias
java.lang.Object
org.h2.engine.DbObject
org.h2.schema.SchemaObject
org.h2.schema.UserDefinedFunction
org.h2.schema.FunctionAlias
- All Implemented Interfaces:
HasSQL
Represents a user-defined function, or alias.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
There may be multiple Java methods that match a function name. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private FunctionAlias.JavaMethod[]
private String
private String
Fields inherited from class org.h2.schema.UserDefinedFunction
className
Fields inherited from class org.h2.engine.DbObject
AGGREGATE, comment, COMMENT, CONSTANT, CONSTRAINT, database, DOMAIN, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, SYNONYM, TABLE_OR_VIEW, trace, TRIGGER, USER
Fields inherited from interface org.h2.util.HasSQL
ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfindJavaMethod
(Expression[] args) Find the Java method that matches the arguments.Construct the CREATE ...Construct a DROP ...Get the Java methods mapped by this function.private static String
int
getType()
Get the object type.private void
init
(boolean force) boolean
private void
load()
private void
private void
static FunctionAlias
newInstance
(Schema schema, int id, String name, String javaClassMethod, boolean force) Create a new alias based on a method name.static FunctionAlias
newInstanceFromSource
(Schema schema, int id, String name, String source, boolean force) Create a new alias based on source code.void
removeChildrenAndResources
(SessionLocal session) Delete all dependent children objects and resources of this object.void
setDeterministic
(boolean deterministic) Methods inherited from class org.h2.schema.UserDefinedFunction
checkRename, getCreateSQLForCopy, getJavaClassName
Methods inherited from class org.h2.schema.SchemaObject
getSchema, getSQL, getSQL, isHidden
Methods inherited from class org.h2.engine.DbObject
getChildren, getComment, getCreateSQLForMeta, getDatabase, getId, getModificationId, getName, invalidate, isTemporary, isValid, rename, setComment, setModified, setObjectName, setTemporary, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.h2.util.HasSQL
getTraceSQL
-
Field Details
-
methodName
-
source
-
javaMethods
-
deterministic
private boolean deterministic
-
-
Constructor Details
-
FunctionAlias
-
-
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 schemaid
- the idname
- the namejavaClassMethod
- the class and method nameforce
- 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 schemaid
- the idname
- the namesource
- the source codeforce
- 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
-
getDropSQL
Description copied from class:DbObject
Construct a DROP ... SQL statement for this object.- Overrides:
getDropSQL
in classDbObject
- Returns:
- the SQL statement
-
getCreateSQL
Description copied from class:DbObject
Construct the CREATE ... SQL statement for this object.- Specified by:
getCreateSQL
in classDbObject
- Returns:
- the SQL statement
-
getType
public int getType()Description copied from class:DbObject
Get the object type. -
removeChildrenAndResources
Description copied from class:DbObject
Delete all dependent children objects and resources of this object.- Specified by:
removeChildrenAndResources
in classDbObject
- Parameters:
session
- the session
-
findJavaMethod
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
-
getJavaMethods
Get the Java methods mapped by this function.- Returns:
- the Java methods.
-
setDeterministic
public void setDeterministic(boolean deterministic) -
isDeterministic
public boolean isDeterministic() -
getSource
-