Package org.apache.jmeter.threads

# Class JMeterVariables

java.lang.Object
org.apache.jmeter.threads.JMeterVariables

public class JMeterVariables extends Object
Class which defines JMeter variables. These are similar to properties, but they are local to a single thread.

## Constructor Summary

Constructors
Constructor
Description
`JMeterVariables()`
Constructor, that preloads the variables from the JMeter properties

## Method Summary

Modifier and Type
Method
Description
`Set<Map.Entry<String,Object>>`
`entrySet()`
`String`
`get(String key)`
Gets the value of a variable, converted to a String.
`int`
`getIteration()`
`Iterator<Map.Entry<String,Object>>`
`getIterator()`
Gets a read-only Iterator over the variables.
`Object`
`getObject(String key)`
Gets the value of a variable (not converted to String).
`String`
`getThreadName()`
`void`
`incIteration()`
Increase the current number of iterations
`boolean`
`isSameUserOnNextIteration()`
`void`
`put(String key, String value)`
Creates or updates a variable with a String value.
`void`
`putAll(Map<String,?> vars)`
Updates the variables with all entries found in the `Map` `vars`
`void`
`putAll(JMeterVariables vars)`
Updates the variables with all entries found in the variables in `vars`
`void`
`putObject(String key, Object value)`
Creates or updates a variable with a value that does not have to be a String.
`Object`
`remove(String key)`
Remove a variable.

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

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### JMeterVariables

public JMeterVariables()
Constructor, that preloads the variables from the JMeter properties

## Method Details

### getThreadName

public String getThreadName()

Returns:
  the name of the currently running thread

### getIteration

public int getIteration()

Returns:
  the current number of iterations

### incIteration

public void incIteration()
Increase the current number of iterations

### remove

public Object remove(String key)
Remove a variable.

Parameters:
  `key` - the variable name to remove
Returns:
  the variable value, or `null` if there was no such variable

### put

public void put(String key, String value)
Creates or updates a variable with a String value.

Parameters:
  `key` - the variable name
  `value` - the variable value

### putObject

public void putObject(String key, Object value)
Creates or updates a variable with a value that does not have to be a String.

Parameters:
  `key` - the variable name
  `value` - the variable value

### putAll

public void putAll(Map<String,?> vars)
Updates the variables with all entries found in the `Map` `vars`

Parameters:
  `vars` - map with the entries to be updated

### putAll

public void putAll(JMeterVariables vars)
Updates the variables with all entries found in the variables in `vars`

Parameters:
  `vars` - `JMeterVariables` with the entries to be updated

### get

public String get(String key)
Gets the value of a variable, converted to a String.

Parameters:
  `key` - the name of the variable
Returns:
  the value of the variable or a toString called on it if it's non String, or `null` if it does not exist

### getObject

public Object getObject(String key)
Gets the value of a variable (not converted to String).

Parameters:
  `key` - the name of the variable
Returns:
  the value of the variable, or `null` if it does not exist

### getIterator

public Iterator<Map.Entry<String,Object>> getIterator()
Gets a read-only Iterator over the variables.

Returns:
  the iterator

### entrySet

public Set<Map.Entry<String,Object>> entrySet()

Returns:
  an unmodifiable view of the entries contained in `JMeterVariables`

### isSameUserOnNextIteration

public boolean isSameUserOnNextIteration()

Returns:
  boolean true if user is the same on next iteration of Thread loop, false otherwise