Package org.apache.jmeter.report.core

# Class CsvSampleWriter

java.lang.Object
org.apache.jmeter.report.core.SampleWriter
org.apache.jmeter.report.core.AbstractSampleWriter
org.apache.jmeter.report.core.CsvSampleWriter

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public class CsvSampleWriter extends AbstractSampleWriter
Class to be used to write samples to a csv destination (OutputStream, Writer or a File).

This class handles csv header writing with the `writeHeader` method. This method has to be called by user for the header to be written.

Since:
  3.0

- ## Field Summary

  ### Fields inherited from class org.apache.jmeter.report.core.AbstractSampleWriter

  `writer`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CsvSampleWriter(File output, SampleMetadata metadata)`
  `CsvSampleWriter(OutputStream output, SampleMetadata metadata)`
  `CsvSampleWriter(Writer output, SampleMetadata metadata)`
  `CsvSampleWriter(SampleMetadata metadata)`
  The new instance has to be supplied with a Writer to work properly.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `setSeparator(char separator)`
  Set the char to use for separation of data in a line.
  `void`
  `setWriter(Writer writer)`
  Set the new writer on which samples will be written by this sample writer.
  If any writer exists on the sample writer, it is flushed and closed before being replaced by the new one.
  `long`
  `write(Sample sample)`
  Write a sample to the underlying destination
  `void`
  `writeHeader()`
  Write the csv header.

  ### Methods inherited from class org.apache.jmeter.report.core.AbstractSampleWriter

  `close, setOutputFile, setOutputStream`

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

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

- ## Constructor Details

  - ### CsvSampleWriter

    public CsvSampleWriter(SampleMetadata metadata)
    The new instance has to be supplied with a Writer to work properly.
    Parameters:
      `metadata` - the description for data that this writer will write (`metadata` must not be `null`).

  - ### CsvSampleWriter

    public CsvSampleWriter(Writer output, SampleMetadata metadata)
    Parameters:
      `output` - the writer to write data to. (Must not be `null`)
      `metadata` - the description for data that this writer will write. ( `metadata` must not be `null`.)

  - ### CsvSampleWriter

    public CsvSampleWriter(OutputStream output, SampleMetadata metadata)
    Parameters:
      `output` - the output stream to write data to. (Must not be `null`)
      `metadata` - the description for data that this writer will write. ( `metadata` must not be `null`.)

  - ### CsvSampleWriter

    public CsvSampleWriter(File output, SampleMetadata metadata)
    Parameters:
      `output` - the output file to write data to. (Must not be `null`)
      `metadata` - the description for data that this writer will write. ( `metadata` must not be `null`.)

- ## Method Details

  - ### setSeparator

    public void setSeparator(char separator)
    Set the char to use for separation of data in a line.
    Parameters:
      `separator` - to use

  - ### setWriter

    public void setWriter(Writer writer)
    Description copied from class: `AbstractSampleWriter`
    Set the new writer on which samples will be written by this sample writer.
    If any writer exists on the sample writer, it is flushed and closed before being replaced by the new one.
    Overrides:
      `setWriter` in class `AbstractSampleWriter`
    Parameters:
      `writer` - The destination writer where samples will be written by this sample writer

  - ### writeHeader

    public void writeHeader()
    Write the csv header. If samples have already been written then a row with header information will be written in the middle of the file.

  - ### write

    public long write(Sample sample)
    Description copied from class: `SampleWriter`
    Write a sample to the underlying destination
    Specified by:
      `write` in class `SampleWriter`
    Parameters:
      `sample` - The sample to be written (Must not be `null`)
    Returns:
      The number of samples written at this time to the underlying destination