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. Attributes:
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 |
static String |
SYSTEM_NAME |
NAME_DELIM_CHAR, RELATIONAL_PREFIX
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) |
static FunctionMethod |
createFunctionMethod(String name,
String description,
String category,
String returnType,
String... paramTypes) |
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
|
String |
getDescription()
Get description of method
|
FunctionMethod.Determinism |
getDeterminism() |
String |
getIdentifier()
Get a context unique identifier for this object.
|
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
|
Method |
getMethod() |
FunctionParameter |
getOutputParameter()
Get output/return 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 |
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 |
setMethod(Method method) |
void |
setNullOnNull(boolean nullOnNull) |
void |
setOutputParameter(FunctionParameter param)
Set output/return parameter.
|
void |
setParent(Schema parent) |
void |
setPushdown(FunctionMethod.PushDown pushdown)
Set pushdown property of method
|
void |
setPushDown(String pushdown) |
boolean |
setVarArgs(boolean varargs) |
String |
toString()
Return string version for debugging purposes
|
getAnnotation, getCanonicalName, getFullName, getIncomingObjects, getName, getNameInSource, getProperties, getProperty, getProperty, getSourceName, getSQLString, getSQLString, getUUID, isUUIDSet, setAnnotation, setIncomingObjects, setName, setNameInSource, setProperties, setProperty, setUUID
public static final String SYSTEM_NAME
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 getDescription()
public void setDescription(String description)
description
- Descriptionpublic String getCategory()
public void setCategory(String category)
category
- Categorypublic 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 boolean setVarArgs(boolean varargs)
varargs
- public void setParent(Schema parent)
public Schema getParent()
getParent
in class AbstractMetadataRecord
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 FunctionMethod createFunctionMethod(String name, String description, String category, String returnType, String... paramTypes)
public static void convertExtensionMetadata(Procedure procedureRecord, FunctionMethod function)
public Method getMethod()
public void setMethod(Method method)
public String getIdentifier()
AbstractMetadataRecord
getIdentifier
in class AbstractMetadataRecord
Copyright © 2020. All rights reserved.