OnceOnlyController (Apache JMeter dist API)
Description: declaration: package: org.apache.jmeter.control, class: OnceOnlyController

Package org.apache.jmeter.control

# Class OnceOnlyController

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

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Controller`, `LoopIterationListener`, `Searchable`, `org.apache.jmeter.testelement.TestElement`, `TestCompilerHelper`

public class OnceOnlyController extends GenericController implements Serializable, LoopIterationListener
Controller to run its children once per cycle.

See Also:
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.apache.jmeter.testelement.TestElement

  `org.apache.jmeter.testelement.TestElement.Companion`

- ## Field Summary

  ### Fields inherited from class org.apache.jmeter.control.GenericController

  `current, subControllersAndSamplers`

  ### Fields inherited from interface org.apache.jmeter.testelement.TestElement

  `COMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `OnceOnlyController()`
  Constructor for the OnceOnlyController object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `iterationStart(LoopIterationEvent event)`
  Called when a loop iteration is about to start.
  `protected Sampler`
  `nextIsNull()`
  Called by `GenericController.next()` when `GenericController.getCurrentElement()` returns `null`.

  ### Methods inherited from class org.apache.jmeter.control.GenericController

  `addIterationListener, addTestElement, addTestElementOnce, currentReturnedNull, fireIterationStart, fireIterEvents, getCurrentElement, getIterCount, getProps, getSchema, getSubControllers, incrementCurrent, incrementIterCount, initialize, initializeSubControllers, isDone, isFirst, next, nextIsAController, nextIsASampler, readResolve, reInitialize, removeCurrentElement, removeIterationListener, resetCurrent, resetIterCount, setCurrentElement, 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, 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, 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, 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`

- ## Constructor Details

  - ### OnceOnlyController

    public OnceOnlyController()
    Constructor for the OnceOnlyController object.

- ## Method Details

  - ### iterationStart

    public void iterationStart(LoopIterationEvent event)
    Description copied from interface: `LoopIterationListener`
    Called when a loop iteration is about to start.
    Specified by:
      `iterationStart` in interface `LoopIterationListener`
    Parameters:
      `event` - the event
    See Also:
      - `LoopIterationListener.iterationStart(LoopIterationEvent)`

  - ### nextIsNull

    protected Sampler nextIsNull() throws NextIsNullException
    Description copied from class: `GenericController`
    Called by `GenericController.next()` when `GenericController.getCurrentElement()` returns `null`. Reinitialises the controller.
    Overrides:
      `nextIsNull` in class `GenericController`
    Returns:
      null (always, for this class)
    Throws:
      `NextIsNullException` - when the end of the list has already been reached