<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>DigestEncodeFunction (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: DigestEncodeFunction">
<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 DigestEncodeFunction" class="title">Class DigestEncodeFunction</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.DigestEncodeFunction</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">DigestEncodeFunction</span>
<span class="extends-implements">extends <a href="AbstractFunction.html" title="class in org.apache.jmeter.functions">AbstractFunction</a></span></div>
<div class="block">Digest Encode Function that provides computing of different SHA-XXX, can
 uppercase the result and store it in a variable.
 Algorithm names can be specified using MessageDigest Algorithms names at
 <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html">StandardNames</a></div>
<dl class="notes">
<dt>Since:</dt>
<dd>4.0</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">DigestEncodeFunction</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>DigestEncodeFunction</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DigestEncodeFunction</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"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="AbstractFunction.html#execute(org.apache.jmeter.samplers.SampleResult,org.apache.jmeter.samplers.Sampler)">AbstractFunction</a></code></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"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="AbstractFunction.html#setParameters(java.util.Collection)">AbstractFunction</a></code></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"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Function.html#getReferenceKey()">Function</a></code></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"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Function.html#getArgumentDesc()">Function</a></code></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>
