<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>FileToString (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: FileToString">
<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 FileToString" class="title">Class FileToString</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.FileToString</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">FileToString</span>
<span class="extends-implements">extends <a href="AbstractFunction.html" title="class in org.apache.jmeter.functions">AbstractFunction</a></span></div>
<div class="block">FileToString Function to read a complete file into a String.
 <p>
 Parameters:
 <ul>
  <li>file name</li>
  <li>file encoding (optional)</li>
  <li>variable name (optional)</li>
 </ul>

 Returns:
 <ul>
  <li>the whole text from a file</li>
  <li>or <code>**ERR**</code> if an error occurs</li>
  <li>value is also optionally saved in the variable for later re-use.</li>
 </ul></div>
<dl class="notes">
<dt>Since:</dt>
<dd>2.4</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">FileToString</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>FileToString</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">FileToString</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>
