Apache JMeter

## org.apache.jmeter.control
Class InterleaveControl

    java.lang.Object
      org.apache.jmeter.testelement.AbstractTestElement
          org.apache.jmeter.control.GenericController
              org.apache.jmeter.control.InterleaveControl

All Implemented Interfaces:
  Serializable, Cloneable, Controller, TestElement

Direct Known Subclasses:
  RandomController

    public class InterleaveControl

extends GenericController
implements Serializable

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:

- 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, fireIterationStart, fireIterEvents, getCurrentElement, getIterCount, getSubControllers, incrementIterCount, initialize, isDone, isFirst, reInitializeSubController, removeCurrentElement, removeIterationListener, resetCurrent, resetIterCount, setDone, setFirst`

Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement

`addProperty, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, 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`

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:
  - resetCurrent() (i.e. current=0)
  - increment iteration count
  - sets first=true
  - recoverRunningVersion() to set the controller back to the initial state

  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-2011 Apache Software Foundation. All Rights Reserved.