Package org.apache.jmeter.testelement

# Class AbstractTestElement

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement

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

Direct Known Subclasses:
  `AbstractBoltTestElement`, `AbstractJDBCTestElement`, `AbstractListenerElement`, `AbstractSampler`, `AbstractScopedTestElement`, `AbstractThreadGroup`, `AnchorModifier`, `Argument`, `Authorization`, `BackendListener`, `BeanShellTestElement`, `BoltConnectionElement`, `CompareAssertion`, `ConfigTestElement`, `ConstantThroughputTimer`, `ConstantTimer`, `Cookie`, `CounterConfig`, `DataSourceElement`, `DebugPostProcessor`, `GenericController`, `Header`, `HTMLAssertion`, `HTTPFileArg`, `HttpMirrorControl`, `JMESPathAssertion`, `JMSProperties`, `JMSProperty`, `JSONPathAssertion`, `LDAPArgument`, `MailerModel`, `MD5HexAssertion`, `OnErrorTestElement`, `PreciseThroughputTimer`, `RegExUserParameters`, `RemoteListenerWrapper`, `RemoteSampleListenerWrapper`, `RemoteTestListenerWrapper`, `RemoteThreadsListenerWrapper`, `ResultSaver`, `SampleTimeout`, `ScriptingTestElement`, `SMIMEAssertionTestElement`, `StaticHost`, `SubstitutionElement`, `Summariser`, `SyncTimer`, `TestPlan`, `URLRewritingModifier`, `UserParameters`, `WorkBench`, `XMLAssertion`, `XMLSchemaAssertion`

public abstract class AbstractTestElement extends Object implements org.apache.jmeter.testelement.TestElement, Serializable, Searchable

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 interface org.apache.jmeter.testelement.TestElement

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

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`AbstractTestElement()`

## Method Summary

Modifier and Type
Method
Description
`protected final void`
`addPropertiesValues(List<? super String> result, Set<String> propertyNames)`
Add to result the values of propertyNames
`protected void`
`addProperty(JMeterProperty property)`
Add property to test element without cloning it
`protected void`
`addProperty(JMeterProperty property, boolean clone)`
Add property to test element
`void`
`addTestElement(org.apache.jmeter.testelement.TestElement el)`
`boolean`
`canRemove()`
`void`
`clear()`
`protected void`
`clearTemporary(JMeterProperty property)`
Remove property from temporaryProperties
`void`
`clearTestElementChildren()`
`Object`
`clone()`
`protected void`
`emptyTemporary()`
Clears temporaryProperties
`boolean`
`equals(Object o)`
`String`
`getComment()`
`String`
`getName()`
`JMeterProperty`
`getProperty(String key)`
Get the named property.
`boolean`
`getPropertyAsBoolean(String key)`
`boolean`
`getPropertyAsBoolean(String key, boolean defaultVal)`
`double`
`getPropertyAsDouble(String key)`
`float`
`getPropertyAsFloat(String key)`
`int`
`getPropertyAsInt(String key)`
`int`
`getPropertyAsInt(String key, int defaultValue)`
`long`
`getPropertyAsLong(String key)`
`long`
`getPropertyAsLong(String key, long defaultValue)`
`String`
`getPropertyAsString(String key)`
`String`
`getPropertyAsString(String key, String defaultValue)`
`JMeterProperty`
`getPropertyOrNull(String key)`
`List<String>`
`getSearchableTokens()`
Get a list of all tokens that should be visible to searching
`JMeterContext`
`getThreadContext()`
`String`
`getThreadName()`
`int`
`hashCode()`
`boolean`
`isEnabled()`
`boolean`
`isRunningVersion()`
Returns the runningVersion.
`boolean`
`isTemporary(JMeterProperty property)`
`protected void`
`logProperties()`
Log the properties of the test element
`protected void`
`mergeIn(org.apache.jmeter.testelement.TestElement element)`
Add to this the properties of element (by reference)
`PropertyIterator`
`propertyIterator()`
`void`
`recoverRunningVersion()`
`void`
`removeProperty(String key)`
`void`
`setComment(String comment)`
`void`
`setEnabled(boolean enabled)`
`void`
`setName(String name)`
`void`
`setProperty(String name, boolean value)`
`void`
`setProperty(String name, boolean value, boolean dflt)`
Create a boolean property - but only if it is not the default.
`void`
`setProperty(String name, int value)`
`void`
`setProperty(String name, int value, int dflt)`
Create an int property - but only if it is not the default.
`void`
`setProperty(String name, long value)`
`void`
`setProperty(String name, long value, long dflt)`
Create a long property - but only if it is not the default.
`void`
`setProperty(String name, String value)`
`void`
`setProperty(String name, String value, String dflt)`
Create a String property - but only if it is not the default.
`void`
`setProperty(JMeterProperty property)`
`void`
`setRunningVersion(boolean runningVersion)`
Sets the runningVersion.
`void`
`setTemporary(JMeterProperty property)`
`void`
`setThreadContext(JMeterContext inthreadContext)`
`void`
`setThreadName(String inthreadName)`
`void`
`traverse(TestElementTraverser traverser)`
`protected void`
`traverseCollection(CollectionProperty col, TestElementTraverser traverser)`
`protected void`
`traverseMap(MapProperty map, TestElementTraverser traverser)`
`protected void`
`traverseProperty(TestElementTraverser traverser, JMeterProperty value)`

### Methods inherited from class java.lang.Object

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

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

`get, get, get, get, get, get, get, get, get, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getPropertyOrNull, getProps, getSchema, getString, removed, removeProperty, set, set, set, set, set, set, set, set, set`

## Constructor Details

### AbstractTestElement

protected AbstractTestElement()

## Method Details

### clone

public Object clone()

Specified by:
  `clone` in interface `org.apache.jmeter.testelement.TestElement`
Overrides:
  `clone` in class `Object`

### clear

public void clear()

Specified by:
  `clear` in interface `org.apache.jmeter.testelement.TestElement`

### clearTestElementChildren

public void clearTestElementChildren()

Default implementation - does nothing

Specified by:
  `clearTestElementChildren` in interface `org.apache.jmeter.testelement.TestElement`

### removeProperty

public void removeProperty(String key)

Specified by:
  `removeProperty` in interface `org.apache.jmeter.testelement.TestElement`

### equals

public boolean equals(Object o)

Overrides:
  `equals` in class `Object`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### addTestElement

public void addTestElement(org.apache.jmeter.testelement.TestElement el)

Specified by:
  `addTestElement` in interface `org.apache.jmeter.testelement.TestElement`

### setName

public void setName(String name)

Specified by:
  `setName` in interface `org.apache.jmeter.testelement.TestElement`

### getName

public String getName()

Specified by:
  `getName` in interface `org.apache.jmeter.testelement.TestElement`

### setComment

public void setComment(String comment)

Specified by:
  `setComment` in interface `org.apache.jmeter.testelement.TestElement`

### getComment

public String getComment()

Specified by:
  `getComment` in interface `org.apache.jmeter.testelement.TestElement`

### getProperty

public JMeterProperty getProperty(String key)
Get the named property. If it doesn't exist, a new NullProperty object is created with the same name and returned.

Specified by:
  `getProperty` in interface `org.apache.jmeter.testelement.TestElement`

### getPropertyOrNull

@API(status=EXPERIMENTAL, since="5.6") public JMeterProperty getPropertyOrNull(String key)

Specified by:
  `getPropertyOrNull` in interface `org.apache.jmeter.testelement.TestElement`
Since:
  5.6

### traverse

public void traverse(TestElementTraverser traverser)

Specified by:
  `traverse` in interface `org.apache.jmeter.testelement.TestElement`

### traverseProperty

protected void traverseProperty(TestElementTraverser traverser, JMeterProperty value)

### traverseMap

protected void traverseMap(MapProperty map, TestElementTraverser traverser)

### traverseCollection

protected void traverseCollection(CollectionProperty col, TestElementTraverser traverser)

### getPropertyAsInt

public int getPropertyAsInt(String key)

Specified by:
  `getPropertyAsInt` in interface `org.apache.jmeter.testelement.TestElement`

### getPropertyAsInt

public int getPropertyAsInt(String key, int defaultValue)

Specified by:
  `getPropertyAsInt` in interface `org.apache.jmeter.testelement.TestElement`

### getPropertyAsBoolean

public boolean getPropertyAsBoolean(String key)

Specified by:
  `getPropertyAsBoolean` in interface `org.apache.jmeter.testelement.TestElement`

### getPropertyAsBoolean

public boolean getPropertyAsBoolean(String key, boolean defaultVal)

Specified by:
  `getPropertyAsBoolean` in interface `org.apache.jmeter.testelement.TestElement`

### getPropertyAsFloat

public float getPropertyAsFloat(String key)

Specified by:
  `getPropertyAsFloat` in interface `org.apache.jmeter.testelement.TestElement`

### getPropertyAsLong

public long getPropertyAsLong(String key)

Specified by:
  `getPropertyAsLong` in interface `org.apache.jmeter.testelement.TestElement`

### getPropertyAsLong

public long getPropertyAsLong(String key, long defaultValue)

Specified by:
  `getPropertyAsLong` in interface `org.apache.jmeter.testelement.TestElement`

### getPropertyAsDouble

public double getPropertyAsDouble(String key)

Specified by:
  `getPropertyAsDouble` in interface `org.apache.jmeter.testelement.TestElement`

### getPropertyAsString

public String getPropertyAsString(String key)

Specified by:
  `getPropertyAsString` in interface `org.apache.jmeter.testelement.TestElement`

### getPropertyAsString

public String getPropertyAsString(String key, String defaultValue)

Specified by:
  `getPropertyAsString` in interface `org.apache.jmeter.testelement.TestElement`

### addProperty

protected void addProperty(JMeterProperty property, boolean clone)
Add property to test element

Parameters:
  `property` - `JMeterProperty` to add to current Test Element
  `clone` - clone property

### addProperty

protected void addProperty(JMeterProperty property)
Add property to test element without cloning it

Parameters:
  `property` - `JMeterProperty`

### clearTemporary

protected void clearTemporary(JMeterProperty property)
Remove property from temporaryProperties

Parameters:
  `property` - `JMeterProperty`

### logProperties

protected void logProperties()
Log the properties of the test element

See Also:
  - `TestElement.setProperty(JMeterProperty)`

### setProperty

public void setProperty(JMeterProperty property)

Specified by:
  `setProperty` in interface `org.apache.jmeter.testelement.TestElement`

### setProperty

public void setProperty(String name, String value)

Specified by:
  `setProperty` in interface `org.apache.jmeter.testelement.TestElement`

### setProperty

public void setProperty(String name, String value, String dflt)
Create a String property - but only if it is not the default. This is intended for use when adding new properties to JMeter so that JMX files are not expanded unnecessarily. N.B. - must agree with the default applied when reading the property.

Specified by:
  `setProperty` in interface `org.apache.jmeter.testelement.TestElement`
Parameters:
  `name` - property name
  `value` - current value
  `dflt` - default

### setProperty

public void setProperty(String name, boolean value)

Specified by:
  `setProperty` in interface `org.apache.jmeter.testelement.TestElement`

### setProperty

public void setProperty(String name, boolean value, boolean dflt)
Create a boolean property - but only if it is not the default. This is intended for use when adding new properties to JMeter so that JMX files are not expanded unnecessarily. N.B. - must agree with the default applied when reading the property.

Specified by:
  `setProperty` in interface `org.apache.jmeter.testelement.TestElement`
Parameters:
  `name` - property name
  `value` - current value
  `dflt` - default

### setProperty

public void setProperty(String name, int value)

Specified by:
  `setProperty` in interface `org.apache.jmeter.testelement.TestElement`

### setProperty

public void setProperty(String name, int value, int dflt)
Create an int property - but only if it is not the default. This is intended for use when adding new properties to JMeter so that JMX files are not expanded unnecessarily. N.B. - must agree with the default applied when reading the property.

Specified by:
  `setProperty` in interface `org.apache.jmeter.testelement.TestElement`
Parameters:
  `name` - property name
  `value` - current value
  `dflt` - default

### setProperty

public void setProperty(String name, long value)

Specified by:
  `setProperty` in interface `org.apache.jmeter.testelement.TestElement`

### setProperty

public void setProperty(String name, long value, long dflt)
Create a long property - but only if it is not the default. This is intended for use when adding new properties to JMeter so that JMX files are not expanded unnecessarily. N.B. - must agree with the default applied when reading the property.

Specified by:
  `setProperty` in interface `org.apache.jmeter.testelement.TestElement`
Parameters:
  `name` - property name
  `value` - current value
  `dflt` - default

### propertyIterator

public PropertyIterator propertyIterator()

Specified by:
  `propertyIterator` in interface `org.apache.jmeter.testelement.TestElement`

### mergeIn

protected void mergeIn(org.apache.jmeter.testelement.TestElement element)
Add to this the properties of element (by reference)

Parameters:
  `element` - `TestElement`

### isRunningVersion

public boolean isRunningVersion()
Returns the runningVersion.

Specified by:
  `isRunningVersion` in interface `org.apache.jmeter.testelement.TestElement`

### setRunningVersion

public void setRunningVersion(boolean runningVersion)
Sets the runningVersion.

Specified by:
  `setRunningVersion` in interface `org.apache.jmeter.testelement.TestElement`
Parameters:
  `runningVersion` - the runningVersion to set

### recoverRunningVersion

public void recoverRunningVersion()

Specified by:
  `recoverRunningVersion` in interface `org.apache.jmeter.testelement.TestElement`

### emptyTemporary

protected void emptyTemporary()
Clears temporaryProperties

### isTemporary

public boolean isTemporary(JMeterProperty property)

Specified by:
  `isTemporary` in interface `org.apache.jmeter.testelement.TestElement`

### setTemporary

public void setTemporary(JMeterProperty property)

Specified by:
  `setTemporary` in interface `org.apache.jmeter.testelement.TestElement`

### getThreadContext

public JMeterContext getThreadContext()

Specified by:
  `getThreadContext` in interface `org.apache.jmeter.testelement.TestElement`
Returns:
  Returns the threadContext.

### setThreadContext

public void setThreadContext(JMeterContext inthreadContext)

Specified by:
  `setThreadContext` in interface `org.apache.jmeter.testelement.TestElement`
Parameters:
  `inthreadContext` - The threadContext to set.

### getThreadName

public String getThreadName()

Specified by:
  `getThreadName` in interface `org.apache.jmeter.testelement.TestElement`
Returns:
  Returns the threadName.

### setThreadName

public void setThreadName(String inthreadName)

Specified by:
  `setThreadName` in interface `org.apache.jmeter.testelement.TestElement`
Parameters:
  `inthreadName` - The threadName to set.

### canRemove

public boolean canRemove()

Specified by:
  `canRemove` in interface `org.apache.jmeter.testelement.TestElement`

### isEnabled

public boolean isEnabled()

Specified by:
  `isEnabled` in interface `org.apache.jmeter.testelement.TestElement`

### setEnabled

public void setEnabled(boolean enabled)

Specified by:
  `setEnabled` in interface `org.apache.jmeter.testelement.TestElement`

### getSearchableTokens

public List<String> getSearchableTokens()
Get a list of all tokens that should be visible to searching}

Specified by:
  `getSearchableTokens` in interface `Searchable`
Returns:
  List of searchable tokens

### addPropertiesValues

protected final void addPropertiesValues(List<? super String> result, Set<String> propertyNames)
Add to result the values of propertyNames

Parameters:
  `result` - List of values of propertyNames
  `propertyNames` - Set of names of properties to extract