<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>SetProperty (Apache JMeter dist API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.jmeter.functions, class: SetProperty">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><b>Apache JMeter</b></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.jmeter.functions</a></div>
<h1 title="Class SetProperty" class="title">Class SetProperty</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="AbstractFunction.html" title="class in org.apache.jmeter.functions">org.apache.jmeter.functions.AbstractFunction</a>
<div class="inheritance">org.apache.jmeter.functions.SetProperty</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="Function.html" title="interface in org.apache.jmeter.functions">Function</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations">@AutoService(<a href="Function.html" title="interface in org.apache.jmeter.functions">Function.class</a>)
</span><span class="modifiers">public class </span><span class="element-name type-name-label">SetProperty</span>
<span class="extends-implements">extends <a href="AbstractFunction.html" title="class in org.apache.jmeter.functions">AbstractFunction</a></span></div>
<div class="block">Function to set a JMeter property

 Parameters: - property name - value

 Usage:

 Set the property value in the appropriate GUI by using the string:
 ${__setProperty(propname,propvalue[,returnvalue?])}

 Returns: nothing or original value if the 3rd parameter is true</div>
<dl class="notes">
<dt>Since:</dt>
<dd>2.1</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">SetProperty</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#execute(org.apache.jmeter.samplers.SampleResult,org.apache.jmeter.samplers.Sampler)" class="member-name-link">execute</a><wbr>(<a href="../samplers/SampleResult.html" title="class in org.apache.jmeter.samplers">SampleResult</a>&nbsp;previousResult,
 <a href="../samplers/Sampler.html" title="interface in org.apache.jmeter.samplers">Sampler</a>&nbsp;currentSampler)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block"><b>
 N.B.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getArgumentDesc()" class="member-name-link">getArgumentDesc</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Return a list of strings briefly describing each parameter your function
 takes.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getReferenceKey()" class="member-name-link">getReferenceKey</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Return the name of your function.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setParameters(java.util.Collection)" class="member-name-link">setParameters</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="../engine/util/CompoundVariable.html" title="class in org.apache.jmeter.engine.util">CompoundVariable</a>&gt;&nbsp;parameters)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Note: This is always called even if no parameters are provided
 (versions of JMeter after 2.3.1)</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.jmeter.functions.AbstractFunction">Methods inherited from class&nbsp;org.apache.jmeter.functions.<a href="AbstractFunction.html" title="class in org.apache.jmeter.functions">AbstractFunction</a></h3>
<code><a href="AbstractFunction.html#addVariableValue(java.lang.String,org.apache.jmeter.engine.util.CompoundVariable%5B%5D,int)">addVariableValue</a>, <a href="AbstractFunction.html#checkMinParameterCount(java.util.Collection,int)">checkMinParameterCount</a>, <a href="AbstractFunction.html#checkParameterCount(java.util.Collection,int)">checkParameterCount</a>, <a href="AbstractFunction.html#checkParameterCount(java.util.Collection,int,int)">checkParameterCount</a>, <a href="AbstractFunction.html#execute()">execute</a>, <a href="AbstractFunction.html#getVariables()">getVariables</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>SetProperty</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SetProperty</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="execute(org.apache.jmeter.samplers.SampleResult,org.apache.jmeter.samplers.Sampler)">
<h3>execute</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">execute</span><wbr><span class="parameters">(<a href="../samplers/SampleResult.html" title="class in org.apache.jmeter.samplers">SampleResult</a>&nbsp;previousResult,
 <a href="../samplers/Sampler.html" title="interface in org.apache.jmeter.samplers">Sampler</a>&nbsp;currentSampler)</span>
               throws <span class="exceptions"><a href="InvalidVariableException.html" title="class in org.apache.jmeter.functions">InvalidVariableException</a></span></div>
<div class="block"><p><b>
 N.B. execute() should be synchronized if function is operating with non-thread-safe
 objects (e.g. operates with files).
 </b></p>
 JMeter ensures setParameters() happens-before execute(): setParameters is executed in main thread,
 and worker threads are started after that.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Function.html#execute(org.apache.jmeter.samplers.SampleResult,org.apache.jmeter.samplers.Sampler)">execute</a></code>&nbsp;in interface&nbsp;<code><a href="Function.html" title="interface in org.apache.jmeter.functions">Function</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="AbstractFunction.html#execute(org.apache.jmeter.samplers.SampleResult,org.apache.jmeter.samplers.Sampler)">execute</a></code>&nbsp;in class&nbsp;<code><a href="AbstractFunction.html" title="class in org.apache.jmeter.functions">AbstractFunction</a></code></dd>
<dt>Parameters:</dt>
<dd><code>previousResult</code> - The previous <a href="../samplers/SampleResult.html" title="class in org.apache.jmeter.samplers"><code>SampleResult</code></a></dd>
<dd><code>currentSampler</code> - The current <a href="../samplers/Sampler.html" title="interface in org.apache.jmeter.samplers"><code>Sampler</code></a></dd>
<dt>Returns:</dt>
<dd>The replacement value, which was generated by the function</dd>
<dt>Throws:</dt>
<dd><code><a href="InvalidVariableException.html" title="class in org.apache.jmeter.functions">InvalidVariableException</a></code> - - when the variables for the function call can't be evaluated</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="Function.html#execute(org.apache.jmeter.samplers.SampleResult,org.apache.jmeter.samplers.Sampler)"><code>Function.execute(SampleResult, Sampler)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setParameters(java.util.Collection)">
<h3>setParameters</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setParameters</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="../engine/util/CompoundVariable.html" title="class in org.apache.jmeter.engine.util">CompoundVariable</a>&gt;&nbsp;parameters)</span>
                   throws <span class="exceptions"><a href="InvalidVariableException.html" title="class in org.apache.jmeter.functions">InvalidVariableException</a></span></div>
<div class="block">Note: This is always called even if no parameters are provided
 (versions of JMeter after 2.3.1)</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Function.html#setParameters(java.util.Collection)">setParameters</a></code>&nbsp;in interface&nbsp;<code><a href="Function.html" title="interface in org.apache.jmeter.functions">Function</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="AbstractFunction.html#setParameters(java.util.Collection)">setParameters</a></code>&nbsp;in class&nbsp;<code><a href="AbstractFunction.html" title="class in org.apache.jmeter.functions">AbstractFunction</a></code></dd>
<dt>Parameters:</dt>
<dd><code>parameters</code> - The parameters for the function call</dd>
<dt>Throws:</dt>
<dd><code><a href="InvalidVariableException.html" title="class in org.apache.jmeter.functions">InvalidVariableException</a></code> - - when the variables for the function call can't be evaluated</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="Function.html#setParameters(java.util.Collection)"><code>Function.setParameters(Collection)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getReferenceKey()">
<h3>getReferenceKey</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getReferenceKey</span>()</div>
<div class="block">Return the name of your function. Convention is to prepend "__" to the
 name (ie "__regexFunction")</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Function.html#getReferenceKey()">getReferenceKey</a></code>&nbsp;in interface&nbsp;<code><a href="Function.html" title="interface in org.apache.jmeter.functions">Function</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="AbstractFunction.html#getReferenceKey()">getReferenceKey</a></code>&nbsp;in class&nbsp;<code><a href="AbstractFunction.html" title="class in org.apache.jmeter.functions">AbstractFunction</a></code></dd>
<dt>Returns:</dt>
<dd>The name of the function</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="Function.html#getReferenceKey()"><code>Function.getReferenceKey()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getArgumentDesc()">
<h3>getArgumentDesc</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">getArgumentDesc</span>()</div>
<div class="block">Return a list of strings briefly describing each parameter your function
 takes. Please use JMeterUtils.getResString(resource_name) to grab a
 resource string. Otherwise, your help text will be difficult to
 internationalize.

 This list is not optional. If you don't wish to write help, you must at
 least return a List containing the correct number of blank strings, one
 for each argument.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>List with brief descriptions for each parameter the function takes</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &copy; 1998-2024 Apache Software Foundation. All Rights Reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>
