Package org.apache.jmeter.functions
Class Jexl2Function
- java.lang.Object
-
- org.apache.jmeter.functions.AbstractFunction
-
- org.apache.jmeter.functions.Jexl2Function
-
- All Implemented Interfaces:
Function
,ThreadListener
public class Jexl2Function extends AbstractFunction implements ThreadListener
A function which understands Commons JEXL2- Since:
- 2.6
-
-
Constructor Summary
Constructors Constructor Description Jexl2Function()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
execute(SampleResult previousResult, Sampler currentSampler)
N.B. execute() should be synchronized if function is operating with non-thread-safe objects (e.g. operates with files).List<String>
getArgumentDesc()
Return a list of strings briefly describing each parameter your function takes.String
getReferenceKey()
Return the name of your function.void
setParameters(Collection<CompoundVariable> parameters)
Note: This is always called even if no parameters are provided (versions of JMeter after 2.3.1)void
threadFinished()
Called for each thread after all samples have been processed.void
threadStarted()
Called for each thread before starting sampling.-
Methods inherited from class org.apache.jmeter.functions.AbstractFunction
checkMinParameterCount, checkParameterCount, checkParameterCount, execute, getVariables
-
-
-
-
Method Detail
-
execute
public 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:
execute
in interfaceFunction
- Specified by:
execute
in classAbstractFunction
- Parameters:
previousResult
- The previousSampleResult
currentSampler
- 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)
-
getArgumentDesc
public List<String> getArgumentDesc()
Return a list of strings briefly describing each parameter your function takes. Please use JMeterUtils.getResString(resource_name) to grab a resource string. Otherwise, your help text will be difficult to internationalize. This list is not optional. If you don't wish to write help, you must at least return a List containing the correct number of blank strings, one for each argument.- Specified by:
getArgumentDesc
in interfaceFunction
- Returns:
- List with brief descriptions for each parameter the function takes
-
getReferenceKey
public String getReferenceKey()
Return the name of your function. Convention is to prepend "__" to the name (ie "__regexFunction")- Specified by:
getReferenceKey
in interfaceFunction
- Specified by:
getReferenceKey
in classAbstractFunction
- Returns:
- The name of the funtion
- See Also:
Function.getReferenceKey()
-
setParameters
public 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:
setParameters
in interfaceFunction
- Specified by:
setParameters
in classAbstractFunction
- 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)
-
threadStarted
public void threadStarted()
Description copied from interface:ThreadListener
Called for each thread before starting sampling. WARNING: this is called before any Config test elements are processed, so any properties they define will not have been merged in yet.- Specified by:
threadStarted
in interfaceThreadListener
- See Also:
JMeterThread.threadStarted()
-
threadFinished
public void threadFinished()
Description copied from interface:ThreadListener
Called for each thread after all samples have been processed.- Specified by:
threadFinished
in interfaceThreadListener
- See Also:
JMeterThread.threadFinished(org.apache.jmeter.engine.event.LoopIterationListener)
-
-