# Class RandomController

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

All Implemented Interfaces:
  `Serializable, Cloneable, Controller, Searchable, TestElement, TestCompilerHelper`

public class RandomController extends InterleaveControl implements Serializable
Controller that rans randomly one of it's children on each iteration

See Also:
  - Serialized Form

## Field Summary

### Fields inherited from class InterleaveControl

`IGNORE_SUB_CONTROLLERS, USE_SUB_CONTROLLERS`

### Fields inherited from class GenericController

`current, subControllersAndSamplers`

### Fields inherited from interface TestElement

`COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

## Constructor Summary

Constructors
Constructor
Description
`RandomController()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`incrementCurrent()`
Increments the current pointer; called by currentReturnedNull to move the controller on to its next child.
`protected void`
`resetCurrent()`

### Methods inherited from class InterleaveControl

`currentReturnedNull, getStyle, isSkipNext, next, nextIsAController, nextIsASampler, nextIsNull, reInitialize, setCurrentElement, setSkipNext, setStyle`

### Methods inherited from class GenericController

`addIterationListener, addTestElement, addTestElementOnce, fireIterationStart, fireIterEvents, getCurrentElement, getIterCount, getSubControllers, incrementIterCount, initialize, initializeSubControllers, isDone, isFirst, readResolve, reInitializeSubController, removeCurrentElement, removeIterationListener, resetIterCount, setDone, setFirst, triggerEndOfLoop`

### Methods inherited from class 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 Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface 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`

## Constructor Details

### RandomController

public RandomController()

## Method Details

### resetCurrent

protected void resetCurrent()

Overrides:
  `resetCurrent` in class `GenericController`
See Also:
  - `GenericController.resetCurrent()`

### incrementCurrent

protected void incrementCurrent()
Description copied from class: `InterleaveControl`
Increments the current pointer; called by currentReturnedNull to move the controller on to its next child.

Overrides:
  `incrementCurrent` in class `InterleaveControl`
See Also:
  - `GenericController.incrementCurrent()`