org.apache.jmeter.engine.util

## Class ValueReplacer

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

    public class ValueReplacer
    extends Object

Perform replacement of ${variable} references.

### Constructor Summary

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

### Method Summary

All Methods Instance Methods Concrete Methods
`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 java.lang.Object

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

### Constructor Detail

#### 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 Detail

#### 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).