Package com.ezylang.evalex.functions
Class AbstractFunction
- java.lang.Object
-
- com.ezylang.evalex.functions.AbstractFunction
-
- All Implemented Interfaces:
FunctionIfc
- Direct Known Subclasses:
AbsFunction,AbstractMinMaxFunction,AcosFunction,AcosHFunction,AcosRFunction,AcotFunction,AcotHFunction,AcotRFunction,AsinFunction,AsinHFunction,AsinRFunction,Atan2Function,Atan2RFunction,AtanFunction,AtanHFunction,AtanRFunction,CeilingFunction,CoalesceFunction,CosFunction,CosHFunction,CosRFunction,CotFunction,CotHFunction,CotRFunction,CscFunction,CscHFunction,CscRFunction,DateTimeFormatFunction,DateTimeNewFunction,DateTimeNowFunction,DateTimeParseFunction,DateTimeTodayFunction,DateTimeToEpochFunction,DegFunction,DurationFromMillisFunction,DurationNewFunction,DurationParseFunction,DurationToMillisFunction,FactFunction,FloorFunction,IfFunction,Log10Function,LogFunction,NotFunction,RadFunction,RandomFunction,RoundFunction,SecFunction,SecHFunction,SecRFunction,SinFunction,SinHFunction,SinRFunction,SqrtFunction,StringContains,StringEndsWithFunction,StringFormatFunction,StringLeftFunction,StringLengthFunction,StringLowerFunction,StringMatchesFunction,StringRightFunction,StringSplitFunction,StringStartsWithFunction,StringSubstringFunction,StringTrimFunction,StringUpperFunction,SumFunction,SwitchFunction,TanFunction,TanHFunction,TanRFunction
public abstract class AbstractFunction extends java.lang.Object implements FunctionIfc
Abstract implementation of theFunctionIfc, used as base class for function implementations.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.math.BigDecimalMINUS_ONE
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractFunction()Creates a new function and uses theFunctionParameterannotations to create the parameter definitions.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<FunctionParameterDefinition>getFunctionParameterDefinitions()Returns the list of parameter definitions.booleanhasVarArgs()Checks whether the function has a variable number of arguments parameter.voidvalidatePreEvaluation(Token token, EvaluationValue... parameterValues)Validates the evaluation parameters, called before the actual evaluation.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.ezylang.evalex.functions.FunctionIfc
evaluate, getCountOfNonVarArgParameters, isParameterLazy
-
-
-
-
Constructor Detail
-
AbstractFunction
protected AbstractFunction()
Creates a new function and uses theFunctionParameterannotations to create the parameter definitions.
-
-
Method Detail
-
validatePreEvaluation
public void validatePreEvaluation(Token token, EvaluationValue... parameterValues) throws EvaluationException
Description copied from interface:FunctionIfcValidates the evaluation parameters, called before the actual evaluation.- Specified by:
validatePreEvaluationin interfaceFunctionIfc- Parameters:
token- The function token.parameterValues- The parameter values- Throws:
EvaluationException- in case of any validation error
-
getFunctionParameterDefinitions
public java.util.List<FunctionParameterDefinition> getFunctionParameterDefinitions()
Description copied from interface:FunctionIfcReturns the list of parameter definitions. Is never empty ornull.- Specified by:
getFunctionParameterDefinitionsin interfaceFunctionIfc- Returns:
- The parameter definition list.
-
hasVarArgs
public boolean hasVarArgs()
Description copied from interface:FunctionIfcChecks whether the function has a variable number of arguments parameter.- Specified by:
hasVarArgsin interfaceFunctionIfc- Returns:
trueorfalse:
-
-