Package org.apache.jmeter.config

# Class CSVDataSet

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.config.ConfigTestElement
org.apache.jmeter.config.CSVDataSet

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `ConfigElement`, `LoopIterationListener`, `NoConfigMerge`, `Searchable`, `TestBean`, `org.apache.jmeter.testelement.TestElement`

public class CSVDataSet extends ConfigTestElement implements TestBean, LoopIterationListener, NoConfigMerge
Read lines from a file and split int variables. The iterationStart() method is used to set up each set of values. By default, the same file is shared between all threads (and other thread groups, if they use the same file name). The shareMode can be set to:

- All threads - default, as described above
- Current thread group
- Current thread
- Identifier - all threads sharing the same identifier

The class uses the FileServer alias mechanism to provide the different share modes. For all threads, the file alias is set to the file name. Otherwise, a suffix is appended to the filename to make it unique within the required context. For current thread group, the thread group identityHashcode is used; for individual threads, the thread hashcode is used as the suffix. Or the user can provide their own suffix, in which case the file is shared between all threads with the same suffix.

See Also:
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface org.apache.jmeter.testelement.TestElement

  `org.apache.jmeter.testelement.TestElement.Companion`

- ## Field Summary

  ### Fields inherited from class org.apache.jmeter.config.ConfigTestElement

  `PASSWORD, USERNAME`

  ### Fields inherited from interface org.apache.jmeter.testelement.TestElement

  `COMMENTS, Companion, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CSVDataSet()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getDelimiter()`
  `String`
  `getFileEncoding()`
  `String`
  `getFilename()`
  `boolean`
  `getQuotedData()`
  `boolean`
  `getRecycle()`
  `String`
  `getShareMode()`
  `boolean`
  `getStopThread()`
  `String`
  `getVariableNames()`
  `boolean`
  `isIgnoreFirstLine()`
  `void`
  `iterationStart(LoopIterationEvent iterEvent)`
  Called when a loop iteration is about to start.
  `void`
  `setDelimiter(String delimiter)`
  `void`
  `setFileEncoding(String fileEncoding)`
  `void`
  `setFilename(String filename)`
  `void`
  `setIgnoreFirstLine(boolean ignoreFirstLine)`
  `void`
  `setProperty(JMeterProperty property)`
  Override the setProperty method in order to convert the original String shareMode property.
  `void`
  `setQuotedData(boolean quoted)`
  `void`
  `setRecycle(boolean recycle)`
  `void`
  `setShareMode(String value)`
  `void`
  `setStopThread(boolean value)`
  `void`
  `setVariableNames(String variableNames)`

  ### Methods inherited from class org.apache.jmeter.config.ConfigTestElement

  `addConfigElement, addTestElement, expectsModification, getProps, getSchema`

  ### Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement

  `addPropertiesValues, addProperty, addProperty, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getPropertyOrNull, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty`

  ### Methods inherited from class java.lang.Object

  `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.jmeter.config.ConfigElement

  `clone`

  ### Methods inherited from interface org.apache.jmeter.testelement.TestElement

  `get, get, get, get, get, get, get, get, get, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getPropertyOrNull, getString, removed, removeProperty, set, set, set, set, set, set, set, set, set`

- ## Constructor Details

  - ### CSVDataSet

    public CSVDataSet()

- ## Method Details

  - ### setProperty

    public void setProperty(JMeterProperty property)
    Override the setProperty method in order to convert the original String shareMode property. This used the locale-dependent display value, so caused problems when the language was changed. If the "shareMode" value matches a resource value then it is converted into the resource key. To reduce the need to look up resources, we only attempt to convert values with spaces in them, as these are almost certainly not variables (and they are definitely not resource keys).
    Specified by:
      `setProperty` in interface `org.apache.jmeter.testelement.TestElement`
    Overrides:
      `setProperty` in class `AbstractTestElement`

  - ### iterationStart

    public void iterationStart(LoopIterationEvent iterEvent)
    Description copied from interface: `LoopIterationListener`
    Called when a loop iteration is about to start.
    Specified by:
      `iterationStart` in interface `LoopIterationListener`
    Parameters:
      `iterEvent` - the event

  - ### getFilename

    public String getFilename()
    Returns:
      Returns the filename.

  - ### setFilename

    public void setFilename(String filename)
    Parameters:
      `filename` - The filename to set.

  - ### getFileEncoding

    public String getFileEncoding()
    Returns:
      Returns the file encoding.

  - ### setFileEncoding

    public void setFileEncoding(String fileEncoding)
    Parameters:
      `fileEncoding` - The fileEncoding to set.

  - ### getVariableNames

    public String getVariableNames()
    Returns:
      Returns the variableNames.

  - ### setVariableNames

    public void setVariableNames(String variableNames)
    Parameters:
      `variableNames` - The variableNames to set.

  - ### getDelimiter

    public String getDelimiter()

  - ### setDelimiter

    public void setDelimiter(String delimiter)

  - ### getQuotedData

    public boolean getQuotedData()

  - ### setQuotedData

    public void setQuotedData(boolean quoted)

  - ### getRecycle

    public boolean getRecycle()

  - ### setRecycle

    public void setRecycle(boolean recycle)

  - ### getStopThread

    public boolean getStopThread()

  - ### setStopThread

    public void setStopThread(boolean value)

  - ### getShareMode

    public String getShareMode()

  - ### setShareMode

    public void setShareMode(String value)

  - ### isIgnoreFirstLine

    public boolean isIgnoreFirstLine()
    Returns:
      the ignoreFirstLine

  - ### setIgnoreFirstLine

    public void setIgnoreFirstLine(boolean ignoreFirstLine)
    Parameters:
      `ignoreFirstLine` - the ignoreFirstLine to set