public class ForeachController extends GenericController implements Serializable, IteratingController
JMeterVariables
where NN is a number starting from 1 to number of occurrences.
This list of variable is usually set by PostProcessor (Regexp PostProcessor or HtmlExtractor)
Iteration can take the full list or only a subset (configured through indexes)current, subControllersAndSamplersCOMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS| Constructor and Description |
|---|
ForeachController() |
| Modifier and Type | Method and Description |
|---|---|
void |
breakLoop()
Break loop ("break" keyword equivalent)
|
String |
getEndIndexAsString() |
String |
getInputValString() |
protected int |
getIterCount() |
String |
getReturnValString() |
String |
getStartIndexAsString() |
boolean |
getUseSeparator() |
protected void |
incrementLoopCount() |
void |
initialize()
Reset loopCount to Start index
|
boolean |
isDone()
Indicates whether the Controller is done delivering Samplers for the rest
of the test.
|
void |
iterationStart(LoopIterationEvent iterEvent)
Called when a loop iteration is about to start.
|
Sampler |
next()
Determines the next sampler to be processed.
|
protected Sampler |
nextIsNull()
|
protected void |
reInitialize()
Resets the controller (called after execution of last child of controller):
resetCurrent() (i.e.
|
protected void |
resetLoopCount() |
void |
setEndIndex(String endIndex) |
void |
setInputVal(String inputValue) |
void |
setReturnVal(String inputValue) |
void |
setStartIndex(String startIndex) |
void |
setUseSeparator(boolean b) |
void |
startNextLoop()
Start next iteration ("continue" keyword equivalent in loops)
|
void |
triggerEndOfLoop()
Trigger end of loop condition on controller (used by Start Next Loop feature)
|
addIterationListener, addTestElement, addTestElementOnce, currentReturnedNull, fireIterationStart, fireIterEvents, getCurrentElement, getSubControllers, incrementCurrent, incrementIterCount, initializeSubControllers, isFirst, nextIsAController, nextIsASampler, readResolve, removeCurrentElement, removeIterationListener, resetCurrent, resetIterCount, setCurrentElement, setDone, setFirstaddPropertiesValues, addProperty, addProperty, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traversePropertyfinalize, getClass, notify, notifyAll, toString, wait, wait, waitupdateIterationIndexcanRemove, clear, clearTestElementChildren, clone, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removed, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traversepublic void setStartIndex(String startIndex)
startIndex - Start index of looppublic String getStartIndexAsString()
public void setEndIndex(String endIndex)
endIndex - End index of looppublic String getEndIndexAsString()
public void setInputVal(String inputValue)
public String getInputValString()
public void setReturnVal(String inputValue)
public String getReturnValString()
public void setUseSeparator(boolean b)
public boolean getUseSeparator()
public boolean isDone()
isDone in interface ControllerisDone in class GenericControllerController.isDone()public Sampler next()
GenericControllerDetermines the next sampler to be processed.
If GenericController.isDone() is true, returns null.
Gets the list element using current pointer.
If this is null, calls GenericController.nextIsNull().
If the list element is a Sampler, calls GenericController.nextIsASampler(Sampler),
otherwise calls GenericController.nextIsAController(Controller)
If any of the called methods throws NextIsNullException, returns null,
otherwise the value obtained above is returned.
next in interface Controllernext in class GenericControllernullprotected Sampler nextIsNull() throws NextIsNullException
GenericController.next() when GenericController.getCurrentElement() returns null.
Reinitialises the controller.nextIsNull in class GenericControllerNextIsNullException - when the end of the list has already been reachedprotected void incrementLoopCount()
protected void resetLoopCount()
protected int getIterCount()
getIterCount in class GenericControllerprotected void reInitialize()
reInitialize in class GenericControllerpublic void triggerEndOfLoop()
triggerEndOfLoop in interface ControllertriggerEndOfLoop in class GenericControllerpublic void initialize()
initialize in interface Controllerinitialize in class GenericControllerGenericController.initialize()public void startNextLoop()
IteratingControllerstartNextLoop in interface IteratingControllerpublic void breakLoop()
IteratingControllerbreakLoop in interface IteratingControllerpublic void iterationStart(LoopIterationEvent iterEvent)
LoopIterationListeneriterationStart in interface LoopIterationListeneriterEvent - the eventCopyright © 1998-2019 Apache Software Foundation. All Rights Reserved.