# Class IncludeController

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

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

public class IncludeController extends GenericController implements ReplaceableController

See Also:
  - Serialized Form

## Field Summary

### Fields inherited from class GenericController

`current, subControllersAndSamplers`

### Fields inherited from interface TestElement

`COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

## Constructor Summary

Constructors
Constructor
Description
`IncludeController()`
No-arg constructor

## Method Summary

Modifier and Type
Method
Description
`Object`
`clone()`
`String`
`getIncludePath()`
return the JMX file path.
`TestElement`
`getReplacementElement()`
`HashTree`
`getReplacementSubTree()`
The way ReplaceableController works is clone is called first, followed by replace(HashTree) and finally getReplacement().
`protected HashTree`
`loadIncludedElements()`
load the included elements using SaveService
`void`
`resolveReplacementSubTree(JMeterTreeNode context)`
Compute the replacement tree.
`void`
`setIncludePath(String jmxfile)`
In the event an user wants to include an external JMX test plan the GUI would call this.

### Methods inherited from class GenericController

`addIterationListener, addTestElement, addTestElementOnce, currentReturnedNull, fireIterationStart, fireIterEvents, getCurrentElement, getIterCount, getSubControllers, incrementCurrent, incrementIterCount, initialize, initializeSubControllers, isDone, isFirst, next, nextIsAController, nextIsASampler, nextIsNull, readResolve, reInitialize, reInitializeSubController, removeCurrentElement, removeIterationListener, resetCurrent, resetIterCount, setCurrentElement, setDone, setFirst, triggerEndOfLoop`

### Methods inherited from class AbstractTestElement

`addPropertiesValues, addProperty, addProperty, canRemove, clear, clearTemporary, clearTestElementChildren, 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, 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

### IncludeController

public IncludeController()
No-arg constructor

See Also:
  - `Object()`

## Method Details

### clone

public Object clone()

Specified by:
  `clone` in interface `TestElement`
Overrides:
  `clone` in class `AbstractTestElement`

### setIncludePath

public void setIncludePath(String jmxfile)
In the event an user wants to include an external JMX test plan the GUI would call this.

Parameters:
  `jmxfile` - The path to the JMX test plan to include

### getIncludePath

public String getIncludePath()
return the JMX file path.

Returns:
  the JMX file path

### getReplacementSubTree

public HashTree getReplacementSubTree()
The way ReplaceableController works is clone is called first, followed by replace(HashTree) and finally getReplacement().

Specified by:
  `getReplacementSubTree` in interface `ReplaceableController`
Returns:
  The replaced sub tree
See Also:
  - `HashTree`

### getReplacementElement

public TestElement getReplacementElement()

### resolveReplacementSubTree

public void resolveReplacementSubTree(JMeterTreeNode context)
Description copied from interface: `ReplaceableController`
Compute the replacement tree.

Specified by:
  `resolveReplacementSubTree` in interface `ReplaceableController`
Parameters:
  `context` - the starting point of the replacement

### loadIncludedElements

protected HashTree loadIncludedElements()
load the included elements using SaveService

Returns:
  tree with loaded elements