Apache JMeter

org.apache.jmeter.control
Class InterleaveControl

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

public class InterleaveControl
extends GenericController
implements Serializable

Alternate among each of the children controllers or samplers for each loop iteration

See Also:
Serialized Form

Field Summary
static int IGNORE_SUB_CONTROLLERS
           
static int USE_SUB_CONTROLLERS
           
 
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
InterleaveControl()
          Constructor for the InterleaveControl object
 
Method Summary
protected  void currentReturnedNull(Controller c)
          If the controller is done, remove it from the list, otherwise increment to next entry in list.
 int getStyle()
           
protected  void incrementCurrent()
          Increments the current pointer; called by currentReturnedNull to move the controller on to its next child.
protected  boolean isSkipNext()
           
 Sampler next()
           Determines the next sampler to be processed.
protected  Sampler nextIsAController(Controller controller)
          Called by next() if the element is a Controller, and returns the next sampler from the controller.
protected  Sampler nextIsASampler(Sampler element)
          Increment the current pointer and return the element.
protected  Sampler nextIsNull()
          If the current is null, reset and continue searching.
 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
protected  void setCurrentElement(TestElement currentElement)
          Empty implementation - does nothing.
protected  void setSkipNext(boolean skipNext)
           
 void setStyle(int style)
           
 
Methods inherited from class org.apache.jmeter.control.GenericController
addIterationListener, addTestElement, addTestElementOnce, fireIterationStart, fireIterEvents, getCurrentElement, getIterCount, getSubControllers, incrementIterCount, initialize, initializeSubControllers, isDone, isFirst, readResolve, reInitializeSubController, removeCurrentElement, removeIterationListener, resetCurrent, resetIterCount, setDone, setFirst, triggerEndOfLoop
 
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, setEnabled, setName, setProperty, setProperty, 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, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
 

Field Detail

IGNORE_SUB_CONTROLLERS

public static final int IGNORE_SUB_CONTROLLERS
See Also:
Constant Field Values

USE_SUB_CONTROLLERS

public static final int USE_SUB_CONTROLLERS
See Also:
Constant Field Values
Constructor Detail

InterleaveControl

public InterleaveControl()
Constructor for the InterleaveControl object

Method Detail

reInitialize

public void reInitialize()
Resets the controller (called after execution of last child of controller):

Overrides:
reInitialize in class GenericController

setStyle

public void setStyle(int style)

getStyle

public int getStyle()

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

nextIsAController

protected Sampler nextIsAController(Controller controller)
                             throws NextIsNullException
Called by next() if the element is a Controller, and returns the next sampler from the controller. If this is null, then updates the current pointer and makes recursive call to next().

Overrides:
nextIsAController in class GenericController
Returns:
the next sampler
Throws:
NextIsNullException

nextIsASampler

protected Sampler nextIsASampler(Sampler element)
                          throws NextIsNullException
Increment the current pointer and return the element. Called by next() if the element is a sampler. (May be overriden by sub-classes).

Overrides:
nextIsASampler in class GenericController
Returns:
input element
Throws:
NextIsNullException

nextIsNull

protected Sampler nextIsNull()
If the current is null, reset and continue searching. The searchStart attribute will break us off when we start a repeat.

Called by next() when getCurrentElement() returns null. Reinitialises the controller.

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

setCurrentElement

protected void setCurrentElement(TestElement currentElement)
                          throws NextIsNullException
Empty implementation - does nothing.

Overrides:
setCurrentElement in class GenericController
Throws:
NextIsNullException

currentReturnedNull

protected void currentReturnedNull(Controller c)
If the controller is done, remove it from the list, otherwise increment to next entry in list.

Overrides:
currentReturnedNull in class GenericController
Parameters:
c - controller

isSkipNext

protected boolean isSkipNext()

setSkipNext

protected void setSkipNext(boolean skipNext)

incrementCurrent

protected void incrementCurrent()
Increments the current pointer; called by currentReturnedNull to move the controller on to its next child.

Overrides:
incrementCurrent in class GenericController

Apache JMeter

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