Class FunctionDefinedByUser
- java.lang.Object
-
- com.igormaznitsa.jcp.expression.functions.AbstractFunction
-
- com.igormaznitsa.jcp.expression.functions.FunctionDefinedByUser
-
- All Implemented Interfaces:
ExpressionItem
public final class FunctionDefinedByUser extends AbstractFunction
The class implements the user defined function handler (a function which name starts with $)
-
-
Field Summary
Fields Modifier and Type Field Description private int
argsNumber
private ValueType[][]
argTypes
private java.lang.String
name
-
Fields inherited from class com.igormaznitsa.jcp.expression.functions.AbstractFunction
ALL_FUNCTIONS, EXECUTION_PREFIX, FUNCTION_NAME_MAP, UID_COUNTER
-
-
Constructor Summary
Constructors Constructor Description FunctionDefinedByUser(java.lang.String name, int argsNumber, PreprocessorContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Value
execute(PreprocessorContext context, Value[] values)
ValueType[][]
getAllowedArgumentTypes()
Get arrays of supported argument typesint
getArity()
Get the function arityjava.lang.String
getName()
Get the function namejava.lang.String
getReference()
Get the function reference to be output for a help requestValueType
getResultType()
Get the result type-
Methods inherited from class com.igormaznitsa.jcp.expression.functions.AbstractFunction
findForClass, findForName, getExpressionItemPriority, getExpressionItemType, toString
-
-
-
-
Field Detail
-
name
private final java.lang.String name
-
argsNumber
private final int argsNumber
-
argTypes
private final ValueType[][] argTypes
-
-
Constructor Detail
-
FunctionDefinedByUser
public FunctionDefinedByUser(java.lang.String name, int argsNumber, PreprocessorContext context)
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from class:AbstractFunction
Get the function name- Specified by:
getName
in classAbstractFunction
- Returns:
- the function name in lower case, must not be null
-
getArity
public int getArity()
Description copied from class:AbstractFunction
Get the function arity- Specified by:
getArity
in classAbstractFunction
- Returns:
- the function arity (zero or greater)
-
execute
public Value execute(PreprocessorContext context, @MustNotContainNull Value[] values)
-
getAllowedArgumentTypes
@MustNotContainNull public ValueType[][] getAllowedArgumentTypes()
Description copied from class:AbstractFunction
Get arrays of supported argument types- Specified by:
getAllowedArgumentTypes
in classAbstractFunction
- Returns:
- the array of argument type combinations allowed by the function handler, must not be null
-
getReference
public java.lang.String getReference()
Description copied from class:AbstractFunction
Get the function reference to be output for a help request- Specified by:
getReference
in classAbstractFunction
- Returns:
- the function information as a String, must not be null
-
getResultType
public ValueType getResultType()
Description copied from class:AbstractFunction
Get the result type- Specified by:
getResultType
in classAbstractFunction
- Returns:
- the result type of the function, must not be null
-
-