public abstract class AbstractFunction extends java.lang.Object implements ExpressionItem
Modifier and Type | Field and Description |
---|---|
static AbstractFunction[] |
ALL_FUNCTIONS
Inside array contains all functions supported by the preprocessor
|
static java.lang.String |
EXECUTION_PREFIX
The string contains the prefix for all executing methods of functions
|
protected static java.util.concurrent.atomic.AtomicLong |
UID_COUNTER
Inside counter to generate UID for some cases
|
Constructor and Description |
---|
AbstractFunction() |
Modifier and Type | Method and Description |
---|---|
static <E extends AbstractFunction> |
findForClass(java.lang.Class<E> functionClass)
Allows to find a function handler instance for its class
|
static AbstractFunction |
findForName(java.lang.String str)
Find a function handler for its name
|
abstract ValueType[][] |
getAllowedArgumentTypes()
Get arrays of supported argument types
|
abstract int |
getArity()
Get the function arity
|
ExpressionItemPriority |
getExpressionItemPriority()
Get the priority of the function in the expression tree
|
ExpressionItemType |
getExpressionItemType()
Get the expression item type
|
abstract java.lang.String |
getName()
Get the function name
|
abstract java.lang.String |
getReference()
Get the function reference to be output for a help request
|
abstract ValueType |
getResultType()
Get the result type
|
java.lang.String |
toString() |
public static final java.lang.String EXECUTION_PREFIX
public static final AbstractFunction[] ALL_FUNCTIONS
protected static final java.util.concurrent.atomic.AtomicLong UID_COUNTER
public static <E extends AbstractFunction> E findForClass(java.lang.Class<E> functionClass)
E
- the class of the needed function handler extends the
AbstractFunction classfunctionClass
- the class of the needed handler, must not be nullpublic static AbstractFunction findForName(java.lang.String str)
str
- the function name, must not be nullpublic abstract java.lang.String getName()
public abstract java.lang.String getReference()
public abstract int getArity()
public abstract ValueType[][] getAllowedArgumentTypes()
public abstract ValueType getResultType()
public ExpressionItemPriority getExpressionItemPriority()
getExpressionItemPriority
in interface ExpressionItem
public ExpressionItemType getExpressionItemType()
getExpressionItemType
in interface ExpressionItem
public java.lang.String toString()
toString
in class java.lang.Object