public class FunctionMethod extends AbstractMetadataRecord
This class represents information about a particular function signature.
Function signatures are unique with respect to their name, # of arguments,
and type of arguments. Return type and argument names are not uniqueness
factors. This class makes no attempt to validate the data put into it,
particularly with respect to null values. The
FunctionMetadataValidator
can be used to validate this object.
FunctionParameter
,
Serialized FormModifier and Type | Class and Description |
---|---|
static class |
FunctionMethod.Determinism
DETERMINISTIC -> normal deterministic functions
vdb -> lookup (however lookup values can be flushed at any time), current_database
session -> env, user
command -> command payload
never -> rand, etc.
|
static class |
FunctionMethod.PushDown
Function Pushdown
CAN_PUSHDOWN = If the source supports the function, then it will be pushed down.
|
AbstractMetadataRecord.DataModifiable, AbstractMetadataRecord.Modifiable
Modifier and Type | Field and Description |
---|---|
protected List<FunctionParameter> |
inParameters |
NAME_DELIM_CHAR, RELATIONAL_URI
Constructor and Description |
---|
FunctionMethod() |
FunctionMethod(String name,
String description,
String category,
FunctionMethod.PushDown pushdown,
String invocationClass,
String invocationMethod,
List<FunctionParameter> inputParams,
FunctionParameter outputParam,
boolean nullOnNull,
FunctionMethod.Determinism deterministic) |
FunctionMethod(String name,
String description,
String category,
FunctionParameter[] inputParams,
FunctionParameter outputParam) |
FunctionMethod(String name,
String description,
String category,
String invocationClass,
String invocationMethod,
FunctionParameter[] inputParams,
FunctionParameter outputParam) |
Modifier and Type | Method and Description |
---|---|
static void |
convertExtensionMetadata(Procedure procedureRecord,
FunctionMethod function) |
boolean |
equals(Object obj)
Compare other object for equality.
|
AggregateAttributes |
getAggregateAttributes()
Gets the
AggregateAttributes for this function if it
represents an aggregate function. |
String |
getCategory()
Get category of method
|
ClassLoader |
getClassLoader() |
String |
getDescription()
Get description of method
|
FunctionMethod.Determinism |
getDeterminism() |
String |
getFullName()
WARNING - The name returned by this method may be ambiguous and
is not SQL safe - it may need quoted/escaped
|
int |
getInputParameterCount()
Get a count of the input parameters.
|
List<FunctionParameter> |
getInputParameters()
Get input parameters
|
String |
getInvocationClass()
Get invocation class name
|
String |
getInvocationMethod()
Get invocation method name
|
String |
getName()
Return name of method
|
FunctionParameter |
getOutputParameter()
Get ouput parameter.
|
Schema |
getParent() |
FunctionMethod.PushDown |
getPushdown()
Get pushdown property of method
|
int |
hashCode()
Get hash code for this object.
|
boolean |
isNullOnNull()
Returns true if the function returns null on any null input
|
boolean |
isVarArgs() |
void |
setAggregateAttributes(AggregateAttributes aggregateAttributes) |
void |
setCategory(String category)
Set category of method
|
void |
setClassloader(ClassLoader classloader) |
void |
setDescription(String description)
Set description of method
|
void |
setDeterminism(FunctionMethod.Determinism determinism) |
void |
setDeterministicBoolean(boolean deterministic) |
void |
setInputParameters(List<FunctionParameter> params)
Set input parameters.
|
void |
setInvocationClass(String invocationClass)
Set invocation class name
|
void |
setInvocationMethod(String invocationMethod)
Set invocation method name
|
void |
setName(String name)
Set name of method
|
void |
setNullOnNull(boolean nullOnNull) |
void |
setOutputParameter(FunctionParameter param)
Set ouput parameter.
|
void |
setParent(Schema parent) |
void |
setPushdown(FunctionMethod.PushDown pushdown)
Set pushdown property of method
|
void |
setPushDown(String pushdown) |
String |
toString()
Return string version for debugging purposes
|
getAnnotation, getCanonicalName, getNameInSource, getProperties, getProperty, getUUID, setAnnotation, setNameInSource, setProperties, setProperty, setUUID
protected List<FunctionParameter> inParameters
public FunctionMethod()
public FunctionMethod(String name, String description, String category, FunctionParameter[] inputParams, FunctionParameter outputParam)
public FunctionMethod(String name, String description, String category, FunctionMethod.PushDown pushdown, String invocationClass, String invocationMethod, List<FunctionParameter> inputParams, FunctionParameter outputParam, boolean nullOnNull, FunctionMethod.Determinism deterministic)
public FunctionMethod(String name, String description, String category, String invocationClass, String invocationMethod, FunctionParameter[] inputParams, FunctionParameter outputParam)
public String getName()
getName
in class AbstractMetadataRecord
public void setName(String name)
setName
in class AbstractMetadataRecord
name
- Namepublic String getFullName()
AbstractMetadataRecord
getFullName
in class AbstractMetadataRecord
public String getDescription()
public void setDescription(String description)
description
- Descriptionpublic String getCategory()
FunctionCategoryConstants
public void setCategory(String category)
category
- CategoryFunctionCategoryConstants
public FunctionMethod.PushDown getPushdown()
public void setPushdown(FunctionMethod.PushDown pushdown)
pushdown
- One of the FunctionMethod constants for pushdownpublic void setPushDown(String pushdown)
public String getInvocationClass()
public void setInvocationClass(String invocationClass)
invocationClass
- Invocation class namepublic String getInvocationMethod()
public void setInvocationMethod(String invocationMethod)
invocationMethod
- Invocation method namepublic int getInputParameterCount()
public List<FunctionParameter> getInputParameters()
public void setInputParameters(List<FunctionParameter> params)
params
- Input parameterspublic FunctionParameter getOutputParameter()
public void setOutputParameter(FunctionParameter param)
param
- Output Parameterpublic int hashCode()
hashCode
in class AbstractMetadataRecord
public boolean equals(Object obj)
equals
in class AbstractMetadataRecord
public String toString()
toString
in class AbstractMetadataRecord
public boolean isNullOnNull()
public void setNullOnNull(boolean nullOnNull)
public FunctionMethod.Determinism getDeterminism()
public void setDeterministicBoolean(boolean deterministic)
public void setDeterminism(FunctionMethod.Determinism determinism)
public boolean isVarArgs()
public void setParent(Schema parent)
public Schema getParent()
getParent
in class AbstractMetadataRecord
public ClassLoader getClassLoader()
public void setClassloader(ClassLoader classloader)
public AggregateAttributes getAggregateAttributes()
AggregateAttributes
for this function if it
represents an aggregate function. Must be null for non-aggregates.public void setAggregateAttributes(AggregateAttributes aggregateAttributes)
public static void convertExtensionMetadata(Procedure procedureRecord, FunctionMethod function)
Copyright © 2012 JBoss by Red Hat. All Rights Reserved.