Package org.apache.jmeter.control
Class LoopController
java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.control.GenericController
org.apache.jmeter.control.LoopController
- All Implemented Interfaces:
- Serializable,- Cloneable,- Controller,- IteratingController,- LoopIterationListener,- Searchable,- org.apache.jmeter.testelement.TestElement,- TestCompilerHelper
public class LoopController
extends GenericController
implements Serializable, IteratingController, LoopIterationListener
Class that implements the Loop Controller, ie iterate infinitely or a configured number of times
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.apache.jmeter.testelement.TestElementorg.apache.jmeter.testelement.TestElement.Companion
- 
Field SummaryFieldsFields inherited from class org.apache.jmeter.control.GenericControllercurrent, subControllersAndSamplersFields inherited from interface org.apache.jmeter.testelement.TestElementCOMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidBreak loop ("break" keyword equivalent)protected intintgetLoops()org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends LoopController,? extends org.apache.jmeter.control.LoopControllerSchema> getProps()org.apache.jmeter.control.LoopControllerSchemaprotected voidvoiditerationStart(LoopIterationEvent iterEvent) Called when a loop iteration is about to start.next()Determines the next sampler to be processed.protected Samplerprotected voidResets the controller (called after execution of last child of controller): resetCurrent() (i.e.protected voidvoidsetContinueForever(boolean forever) Determines whether the loop will return any samples if it is rerun.protected voidsetDone(boolean done) voidsetLoops(int loops) voidvoidStart next iterationvoidTrigger end of loop condition on controller (used by Start Next Loop feature)Methods inherited from class org.apache.jmeter.control.GenericControlleraddIterationListener, addTestElement, addTestElementOnce, currentReturnedNull, fireIterationStart, fireIterEvents, getCurrentElement, getSubControllers, incrementCurrent, incrementIterCount, initialize, initializeSubControllers, isDone, isFirst, nextIsAController, nextIsASampler, readResolve, removeCurrentElement, removeIterationListener, resetCurrent, resetIterCount, setCurrentElement, setFirstMethods inherited from class org.apache.jmeter.testelement.AbstractTestElementaddPropertiesValues, addProperty, addProperty, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getPropertyOrNull, 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, traversePropertyMethods inherited from class java.lang.Objectfinalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.jmeter.control.IteratingControllerupdateIterationIndexMethods inherited from interface org.apache.jmeter.testelement.TestElementcanRemove, clear, clearTestElementChildren, clone, get, get, get, get, get, get, get, get, get, getComment, getName, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getPropertyOrNull, getPropertyOrNull, getString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removed, removeProperty, removeProperty, set, set, set, set, set, set, set, set, set, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
- 
Field Details- 
INFINITE_LOOP_COUNTpublic static final int INFINITE_LOOP_COUNT- See Also:
 
- 
LOOPS- See Also:
 
 
- 
- 
Constructor Details- 
LoopControllerpublic LoopController()
 
- 
- 
Method Details- 
getSchemapublic org.apache.jmeter.control.LoopControllerSchema getSchema()- Specified by:
- getSchemain interface- org.apache.jmeter.testelement.TestElement
- Overrides:
- getSchemain class- GenericController
 
- 
getPropspublic org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends LoopController,? extends org.apache.jmeter.control.LoopControllerSchema> getProps()- Specified by:
- getPropsin interface- org.apache.jmeter.testelement.TestElement
- Overrides:
- getPropsin class- GenericController
 
- 
setLoopspublic void setLoops(int loops) 
- 
setLoops
- 
getLoopspublic int getLoops()
- 
getLoopString
- 
setContinueForeverpublic void setContinueForever(boolean forever) Determines whether the loop will return any samples if it is rerun.- Parameters:
- forever- true if the loop must be reset after ending a run
 
- 
nextDetermines the next sampler to be processed. If GenericController.isDone()istrue, returns null.Gets the list element using current pointer. If this is null, callsGenericController.nextIsNull().If the list element is a Sampler, callsGenericController.nextIsASampler(Sampler), otherwise callsGenericController.nextIsAController(Controller)If any of the called methods throws NextIsNullException, returnsnull, otherwise the value obtained above is returned.- Specified by:
- nextin interface- Controller
- Overrides:
- nextin class- GenericController
- Returns:
- the next sampler or null
 
- 
setDoneprotected void setDone(boolean done) - Overrides:
- setDonein class- GenericController
 
- 
nextIsNullCalled byGenericController.next()whenGenericController.getCurrentElement()returnsnull. Reinitialises the controller.- Overrides:
- nextIsNullin class- GenericController
- Returns:
- null (always, for this class)
- Throws:
- NextIsNullException- when the end of the list has already been reached
 
- 
triggerEndOfLooppublic void triggerEndOfLoop()Trigger end of loop condition on controller (used by Start Next Loop feature)- Specified by:
- triggerEndOfLoopin interface- Controller
- Overrides:
- triggerEndOfLoopin class- GenericController
 
- 
incrementLoopCountprotected void incrementLoopCount()
- 
resetLoopCountprotected void resetLoopCount()
- 
getIterCountprotected int getIterCount()- Overrides:
- getIterCountin class- GenericController
 
- 
reInitializeprotected void reInitialize()Resets the controller (called after execution of last child of controller):- resetCurrent() (i.e. current=0)
- increment iteration count
- sets first=true
- recoverRunningVersion() to set the controller back to the initial state
 - Overrides:
- reInitializein class- GenericController
 
- 
startNextLooppublic void startNextLoop()Start next iteration- Specified by:
- startNextLoopin interface- IteratingController
 
- 
breakLooppublic void breakLoop()Description copied from interface:IteratingControllerBreak loop ("break" keyword equivalent)- Specified by:
- breakLoopin interface- IteratingController
 
- 
iterationStartDescription copied from interface:LoopIterationListenerCalled when a loop iteration is about to start.- Specified by:
- iterationStartin interface- LoopIterationListener
- Parameters:
- iterEvent- the event
 
 
-