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