Package org.apache.jmeter.protocol.http.proxy

# Interface SamplerCreator

All Known Implementing Classes:
  `AbstractSamplerCreator`, `DefaultSamplerCreator`

public interface SamplerCreator
Factory of sampler

## Method Summary

Modifier and Type
Method
Description
`HTTPSamplerBase`
`createAndPopulateSampler(HttpRequestHdr request, Map<String,String> pageEncodings, Map<String,String> formEncodings)`
Default implementation calls: `SamplerCreator` `createSampler(HttpRequestHdr, Map, Map)` `SamplerCreator` `populateSampler(HTTPSamplerBase, HttpRequestHdr, Map, Map)`
`List<org.apache.jmeter.testelement.TestElement>`
`createChildren(HTTPSamplerBase sampler, SampleResult result)`
Create sampler children.
`HTTPSamplerBase`
`createSampler(HttpRequestHdr request, Map<String,String> pageEncodings, Map<String,String> formEncodings)`
Create HTTPSamplerBase
`String[]`
`getManagedContentTypes()`
`void`
`populateSampler(HTTPSamplerBase sampler, HttpRequestHdr request, Map<String,String> pageEncodings, Map<String,String> formEncodings)`
Populate sampler from request
`void`
`postProcessSampler(HTTPSamplerBase sampler, SampleResult result)`
Post process sampler Called after sampling
`default void`
`setCounter(int value)`
Set the counter for this implementation.

## Method Details

### getManagedContentTypes

String[] getManagedContentTypes()

Returns:
  String[] array of Content types managed by Factory

### createSampler

HTTPSamplerBase createSampler(HttpRequestHdr request, Map<String,String> pageEncodings, Map<String,String> formEncodings)
Create HTTPSamplerBase

Parameters:
  `request` - `HttpRequestHdr`
  `pageEncodings` - Map of page encodings
  `formEncodings` - Map of form encodings
Returns:
  `HTTPSamplerBase`

### populateSampler

void populateSampler(HTTPSamplerBase sampler, HttpRequestHdr request, Map<String,String> pageEncodings, Map<String,String> formEncodings) throws Exception
Populate sampler from request

Parameters:
  `sampler` - `HTTPSamplerBase`
  `request` - `HttpRequestHdr`
  `pageEncodings` - Map of page encodings
  `formEncodings` - Map of form encodings
Throws:
  `Exception` - when something fails

### postProcessSampler

void postProcessSampler(HTTPSamplerBase sampler, SampleResult result)
Post process sampler Called after sampling

Parameters:
  `sampler` - HTTPSamplerBase
  `result` - SampleResult
Since:
  2.9

### createAndPopulateSampler

HTTPSamplerBase createAndPopulateSampler(HttpRequestHdr request, Map<String,String> pageEncodings, Map<String,String> formEncodings) throws Exception
Default implementation calls:

1. `SamplerCreator` `createSampler(HttpRequestHdr, Map, Map)`
2. `SamplerCreator` `populateSampler(HTTPSamplerBase, HttpRequestHdr, Map, Map)`

Parameters:
  `request` - `HttpRequestHdr`
  `pageEncodings` - Map of page encodings
  `formEncodings` - Map of form encodings
Returns:
  `HTTPSamplerBase`
Throws:
  `Exception` - when something fails
Since:
  2.9

### createChildren

List<org.apache.jmeter.testelement.TestElement> createChildren(HTTPSamplerBase sampler, SampleResult result)
Create sampler children. This method can be used to add PostProcessor or ResponseAssertions by implementations of `SamplerCreator`. Return empty list if nothing to create

Parameters:
  `sampler` - `HTTPSamplerBase`
  `result` - `SampleResult`
Returns:
  List

### setCounter

default void setCounter(int value)
Set the counter for this implementation. The counter should be incremented before creating a new sampler by the implementation.

Parameters:
  `value` - to be used