Apache JMeter

org.apache.jmeter.control
Class LoopController

java.lang.Object
  extended by org.apache.jmeter.testelement.AbstractTestElement
      extended by org.apache.jmeter.control.GenericController
          extended by org.apache.jmeter.control.LoopController
All Implemented Interfaces:
Serializable, Cloneable, Controller, Searchable, TestElement, TestCompilerHelper

public class LoopController
extends GenericController
implements Serializable

Class that implements the Loop Controller.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.jmeter.control.GenericController
current, subControllersAndSamplers
 
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
 
Constructor Summary
LoopController()
           
 
Method Summary
protected  int getIterCount()
          
 int getLoops()
           
 String getLoopString()
           
protected  void incrementLoopCount()
           
 Sampler next()
          

Determines the next sampler to be processed.

protected  Sampler nextIsNull()
          Called by next() when getCurrentElement() returns null.
protected  void reInitialize()
          Resets the controller:
  • resetCurrent() (i.e. current=0)
  • increment iteration count
  • sets first=true
  • recoverRunningVersion() to set the controller back to the initial state
protected  void resetLoopCount()
           
 void setContinueForever(boolean forever)
          Determines whether the loop will return any samples if it is rerun.
 void setLoops(int loops)
           
 void setLoops(String loopValue)
           
 void startNextLoop()
          Start next iteration
 void triggerEndOfLoop()
          Trigger end of loop condition on controller (used by Start Next Loop feature)
 
Methods inherited from class org.apache.jmeter.control.GenericController
addIterationListener, addTestElement, addTestElementOnce, currentReturnedNull, fireIterationStart, fireIterEvents, getCurrentElement, getSubControllers, incrementCurrent, incrementIterCount, initialize, isDone, isFirst, nextIsAController, nextIsASampler, reInitializeSubController, removeCurrentElement, removeIterationListener, resetCurrent, resetIterCount, setCurrentElement, setDone, setFirst
 
Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement
addPropertiesValues, 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, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.jmeter.testelement.TestElement
canRemove, clear, clearTestElementChildren, clone, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setComment, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
 

Constructor Detail

LoopController

public LoopController()
Method Detail

setLoops

public void setLoops(int loops)

setLoops

public void setLoops(String loopValue)

getLoops

public int getLoops()

getLoopString

public String getLoopString()

setContinueForever

public 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

next

public Sampler next()

Determines the next sampler to be processed.

If isDone, 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.

Specified by:
next in interface Controller
Overrides:
next in class GenericController
Returns:
the next sampler or null

nextIsNull

protected Sampler nextIsNull()
                      throws NextIsNullException
Called by next() when getCurrentElement() returns null. Reinitialises the controller.

Overrides:
nextIsNull in class GenericController
Returns:
null (always, for this class)
Throws:
NextIsNullException

triggerEndOfLoop

public void triggerEndOfLoop()
Trigger end of loop condition on controller (used by Start Next Loop feature)

Specified by:
triggerEndOfLoop in interface Controller
Overrides:
triggerEndOfLoop in class GenericController

incrementLoopCount

protected void incrementLoopCount()

resetLoopCount

protected void resetLoopCount()

getIterCount

protected int getIterCount()

Overrides:
getIterCount in class GenericController

reInitialize

protected void reInitialize()
Resets the controller:

Overrides:
reInitialize in class GenericController

startNextLoop

public void startNextLoop()
Start next iteration


Apache JMeter

Copyright © 1998-2012 Apache Software Foundation. All Rights Reserved.