Package org.apache.jmeter.functions
Class AbstractFunction
- java.lang.Object
-
- org.apache.jmeter.functions.AbstractFunction
-
- All Implemented Interfaces:
Function
- Direct Known Subclasses:
BeanShell,CharFunction,CSVRead,EscapeHtml,EscapeOroRegexpChars,EvalFunction,EvalVarFunction,FileToString,IntSum,IterationCounter,JavaScript,Jexl2Function,JexlFunction,LogFunction,LogFunction2,LongSum,MachineIP,MachineName,Property,Property2,Random,RandomString,RegexFunction,SamplerName,SetProperty,SplitFunction,StringFromFile,TestPlanName,ThreadNumber,TimeFunction,UnEscape,UnEscapeHtml,UrlDecode,UrlEncode,Uuid,Variable,XPath
public abstract class AbstractFunction extends Object implements Function
Provides common methods for all functions
-
-
Constructor Summary
Constructors Constructor Description AbstractFunction()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidcheckMinParameterCount(Collection<CompoundVariable> parameters, int minimum)Utility method to check parameter counts.protected voidcheckParameterCount(Collection<CompoundVariable> parameters, int count)Utility method to check parameter counts.protected voidcheckParameterCount(Collection<CompoundVariable> parameters, int min, int max)Utility method to check parameter counts.Stringexecute()abstract Stringexecute(SampleResult previousResult, Sampler currentSampler)N.B. execute() should be synchronized if function is operating with non-thread-safe objects (e.g. operates with files).abstract StringgetReferenceKey()Return the name of your function.protected JMeterVariablesgetVariables()Gives access to the JMeter variables for the current thread.abstract voidsetParameters(Collection<CompoundVariable> parameters)Note: This is always called even if no parameters are provided (versions of JMeter after 2.3.1)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.jmeter.functions.Function
getArgumentDesc
-
-
-
-
Method Detail
-
execute
public abstract String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException
N.B. execute() should be synchronized if function is operating with non-thread-safe objects (e.g. operates with files).
JMeter ensures setParameters() happens-before execute(): setParameters is executed in main thread, and worker threads are started after that.- Specified by:
executein interfaceFunction- Parameters:
previousResult- The previousSampleResultcurrentSampler- The currentSampler- Returns:
- The replacement value, which was generated by the function
- Throws:
InvalidVariableException- - when the variables for the function call can't be evaluated- See Also:
Function.execute(SampleResult, Sampler)
-
execute
public String execute() throws InvalidVariableException
- Throws:
InvalidVariableException
-
setParameters
public abstract void setParameters(Collection<CompoundVariable> parameters) throws InvalidVariableException
Note: This is always called even if no parameters are provided (versions of JMeter after 2.3.1)- Specified by:
setParametersin interfaceFunction- Parameters:
parameters- The parameters for the function call- Throws:
InvalidVariableException- - when the variables for the function call can't be evaluated- See Also:
Function.setParameters(Collection)
-
getReferenceKey
public abstract String getReferenceKey()
Description copied from interface:FunctionReturn the name of your function. Convention is to prepend "__" to the name (ie "__regexFunction")- Specified by:
getReferenceKeyin interfaceFunction- Returns:
- The name of the funtion
- See Also:
Function.getReferenceKey()
-
getVariables
protected JMeterVariables getVariables()
Gives access to the JMeter variables for the current thread.- Returns:
- a pointer to the JMeter variables.
-
checkParameterCount
protected void checkParameterCount(Collection<CompoundVariable> parameters, int min, int max) throws InvalidVariableException
Utility method to check parameter counts.- Parameters:
parameters- collection of parametersmin- minimum number of parameters allowedmax- maximum number of parameters allowed- Throws:
InvalidVariableException- if the number of parameters is incorrect
-
checkParameterCount
protected void checkParameterCount(Collection<CompoundVariable> parameters, int count) throws InvalidVariableException
Utility method to check parameter counts.- Parameters:
parameters- collection of parameterscount- number of parameters expected- Throws:
InvalidVariableException- if the number of parameters is incorrect
-
checkMinParameterCount
protected void checkMinParameterCount(Collection<CompoundVariable> parameters, int minimum) throws InvalidVariableException
Utility method to check parameter counts.- Parameters:
parameters- collection of parametersminimum- number of parameters expected- Throws:
InvalidVariableException- if the number of parameters is incorrect
-
-