Package org.apache.jmeter.report.core

# Class AbstractSampleWriter

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

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

Direct Known Subclasses:
  `CsvSampleWriter`

public abstract class AbstractSampleWriter extends SampleWriter
Base class for implementing sample writer.

Handles buffering and output writer replacement.

When a writer is set on the sample writer any previous writer is flushed and closed before being replaced by the new one.

Since:
  3.0

## Field Summary

Fields
Modifier and Type
Field
Description
`protected PrintWriter`
`writer`
output writer to write samples to

## Constructor Summary

Constructors
Constructor
Description
`AbstractSampleWriter()`

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
This method is guaranteed to not throw any exception.
`void`
`setOutputFile(File output)`
Set the destination file in which this sample writer will write samples
`void`
`setOutputStream(OutputStream out)`
Instructs this sample writer to write samples on the specified output with UTG-8 encoding.
`void`
`setWriter(Writer newWriter)`
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.

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

`write`

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

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

## Field Details

### writer

protected PrintWriter writer
output writer to write samples to

## Constructor Details

### AbstractSampleWriter

public AbstractSampleWriter()

## Method Details

### setWriter

public void setWriter(Writer newWriter)
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.

Parameters:
  `newWriter` - The destination writer where samples will be written by this sample writer

### setOutputStream

public void setOutputStream(OutputStream out)
Instructs this sample writer to write samples on the specified output with UTG-8 encoding. The encoding can be overridden by the user through `SaveService.getFileEncoding(String)`

Parameters:
  `out` - The output stream on which sample should be written

### setOutputFile

public void setOutputFile(File output)
Set the destination file in which this sample writer will write samples

Parameters:
  `output` - The output file that will receive samples written by this sample writer

### close

public void close()
This method is guaranteed to not throw any exception. If writer is already closed then does nothing.
Any buffered data is flushed by this method.