# Class ValueReplacer

java.lang.Object
org.apache.jmeter.engine.util.ValueReplacer

public class ValueReplacer extends Object
Perfom replacement of ${variable} references.

## Constructor Summary

Constructors
Constructor
Description
`ValueReplacer()`
`ValueReplacer(TestPlan tp)`
Constructor which couples the given `TestPlan` to this by means of the user defined variables

## Method Summary

Modifier and Type
Method
Description
`void`
`addVariable(String name, String value)`
Add a variable to this replacer's variables map
`void`
`addVariables(Map<String,String> vars)`
Add all the given variables to this replacer's variables map.
`void`
`replaceValues(TestElement el)`
Replaces TestElement StringProperties containing functions with their Function properties equivalent, example: ${__time()}_${__threadNum()}_${__machineName()} will become a FunctionProperty of a CompoundVariable containing 3 functions
`void`
`reverseReplace(TestElement el)`
Transforms strings into variable references
`void`
`reverseReplace(TestElement el, boolean regexMatch)`
Transforms strings into variable references using regexp matching if regexMatch is `true`
`void`
`setUserDefinedVariables(Map<String,String> variables)`
Set this `ValueReplacer`'s variable map
`void`
`undoReverseReplace(TestElement el)`
Replaces ${key} by value extracted from variables if any

### Methods inherited from class Object

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

## Constructor Details

### ValueReplacer

public ValueReplacer()

### ValueReplacer

public ValueReplacer(TestPlan tp)
Constructor which couples the given `TestPlan` to this by means of the user defined variables

Parameters:
  `tp` - `TestPlan` from which we will take the user defined variables as variables map

## Method Details

### setUserDefinedVariables

public void setUserDefinedVariables(Map<String,String> variables)
Set this `ValueReplacer`'s variable map

Parameters:
  `variables` - Map which stores the variables

### replaceValues

public void replaceValues(TestElement el) throws InvalidVariableException
Replaces TestElement StringProperties containing functions with their Function properties equivalent, example: ${__time()}_${__threadNum()}_${__machineName()} will become a FunctionProperty of a CompoundVariable containing 3 functions

Parameters:
  `el` - `TestElement` in which the values should be replaced
Throws:
  `InvalidVariableException` - when transforming of the variables goes awry and the used transformer throws an `InvalidVariableException`

### reverseReplace

public void reverseReplace(TestElement el) throws InvalidVariableException
Transforms strings into variable references

Parameters:
  `el` - `TestElement` in which the we will look for strings, that can be replaced by variable references
Throws:
  `InvalidVariableException` - when transforming of the strings goes awry and the used transformer throws an `InvalidVariableException`

### reverseReplace

public void reverseReplace(TestElement el, boolean regexMatch) throws InvalidVariableException
Transforms strings into variable references using regexp matching if regexMatch is `true`

Parameters:
  `el` - `TestElement` in which the we will look for strings, that can be replaced by variable references
  `regexMatch` - when `true` variable substitution will be done in regexp matching mode
Throws:
  `InvalidVariableException` - when transforming of the strings goes awry and the used transformer throws an `InvalidVariableException`

### undoReverseReplace

public void undoReverseReplace(TestElement el) throws InvalidVariableException
Replaces ${key} by value extracted from variables if any

Parameters:
  `el` - `TestElement` in which values should be replaced
Throws:
  `InvalidVariableException` - when transforming of the variables goes awry and the used transformer throws an `InvalidVariableException`

### addVariable

public void addVariable(String name, String value)
Add a variable to this replacer's variables map

Parameters:
  `name` - Name of the variable
  `value` - Value of the variable

### addVariables

public void addVariables(Map<String,String> vars)
Add all the given variables to this replacer's variables map.

Parameters:
  `vars` - A map of variable name-value pairs (String-to-String).