# Class SystemSampler

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.samplers.AbstractSampler
org.apache.jmeter.protocol.system.SystemSampler

All Implemented Interfaces:
  `Serializable, Cloneable, ConfigMergabilityIndicator, Searchable, Sampler, TestElement`

public class SystemSampler extends AbstractSampler
A sampler for executing a System function.

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`ARGUMENTS`
`static final String`
`CHECK_RETURN_CODE`
`static final String`
`COMMAND`
`static final int`
`DEFAULT_RETURN_CODE`
`static final String`
`DIRECTORY`
`static final String`
`ENVIRONMENT`
`static final String`
`EXPECTED_RETURN_CODE`

### Fields inherited from interface TestElement

`COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

## Constructor Summary

Constructors
Constructor
Description
`SystemSampler()`
Create a SystemSampler.

## Method Summary

Modifier and Type
Method
Description
`boolean`
`applies(ConfigTestElement configElement)`
Does configElement apply to Sampler
`Arguments`
`getArguments()`
Get the arguments (parameters) for the JavaSamplerClient to be executed with.
`boolean`
`getCheckReturnCode()`
`String`
`getCommand()`
Gets the Command attribute of the JavaConfig object
`String`
`getDirectory()`
`Arguments`
`getEnvironmentVariables()`
Get the env variables
`int`
`getExpectedReturnCode()`
`String`
`getStderr()`
`String`
`getStdin()`
`String`
`getStdout()`
`long`
`getTimeout()`
`SampleResult`
`sample(Entry entry)`
Performs a test sample.
`void`
`setArguments(Arguments args)`
Set the arguments (parameters) for the JavaSamplerClient to be executed with.
`void`
`setCheckReturnCode(boolean checkit)`
`void`
`setCommand(String command)`
Sets the Command attribute of the JavaConfig object
`void`
`setDirectory(String directory)`
Set the working directory to use for system commands
`void`
`setEnvironmentVariables(Arguments arguments)`
`void`
`setExpectedReturnCode(int code)`
`void`
`setStderr(String filename)`
`void`
`setStdin(String filename)`
`void`
`setStdout(String filename)`
`void`
`setTimout(long timeoutMs)`

### Methods inherited from class AbstractTestElement

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

### Methods inherited from class Object

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

### Methods inherited from interface TestElement

`addTestElement, canRemove, clear, clearTestElementChildren, clone, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse`

## Field Details

### COMMAND

public static final String COMMAND

See Also:
  - Constant Field Values

### DIRECTORY

public static final String DIRECTORY

See Also:
  - Constant Field Values

### ARGUMENTS

public static final String ARGUMENTS

See Also:
  - Constant Field Values

### ENVIRONMENT

public static final String ENVIRONMENT

See Also:
  - Constant Field Values

### CHECK_RETURN_CODE

public static final String CHECK_RETURN_CODE

See Also:
  - Constant Field Values

### EXPECTED_RETURN_CODE

public static final String EXPECTED_RETURN_CODE

See Also:
  - Constant Field Values

### DEFAULT_RETURN_CODE

public static final int DEFAULT_RETURN_CODE

See Also:
  - Constant Field Values

## Constructor Details

### SystemSampler

public SystemSampler()
Create a SystemSampler.

## Method Details

### sample

public SampleResult sample(Entry entry)
Performs a test sample.

Parameters:
  `entry` - the Entry for this sample
Returns:
  test SampleResult

### applies

public boolean applies(ConfigTestElement configElement)
Description copied from class: `AbstractSampler`
Does configElement apply to Sampler

Specified by:
  `applies` in interface `ConfigMergabilityIndicator`
Overrides:
  `applies` in class `AbstractSampler`
Parameters:
  `configElement` - `ConfigTestElement`
Returns:
  boolean
See Also:
  - `AbstractSampler.applies(org.apache.jmeter.config.ConfigTestElement)`

### getDirectory

public String getDirectory()

Returns:
  working directory to use for system commands

### setDirectory

public void setDirectory(String directory)
Set the working directory to use for system commands

Parameters:
  `directory` - working directory to use for system commands

### setCommand

public void setCommand(String command)
Sets the Command attribute of the JavaConfig object

Parameters:
  `command` - the new Command value

### getCommand

public String getCommand()
Gets the Command attribute of the JavaConfig object

Returns:
  the Command value

### setArguments

public void setArguments(Arguments args)
Set the arguments (parameters) for the JavaSamplerClient to be executed with.

Parameters:
  `args` - the new arguments. These replace any existing arguments.

### getArguments

public Arguments getArguments()
Get the arguments (parameters) for the JavaSamplerClient to be executed with.

Returns:
  the arguments

### setCheckReturnCode

public void setCheckReturnCode(boolean checkit)

Parameters:
  `checkit` - boolean indicates if we check or not return code

### getCheckReturnCode

public boolean getCheckReturnCode()

Returns:
  boolean indicating if we check or not return code

### setExpectedReturnCode

public void setExpectedReturnCode(int code)

Parameters:
  `code` - expected return code

### getExpectedReturnCode

public int getExpectedReturnCode()

Returns:
  expected return code

### setEnvironmentVariables

public void setEnvironmentVariables(Arguments arguments)

Parameters:
  `arguments` - Env vars

### getEnvironmentVariables

public Arguments getEnvironmentVariables()
Get the env variables

Returns:
  the arguments

### getStdout

public String getStdout()

### setStdout

public void setStdout(String filename)

### getStderr

public String getStderr()

### setStderr

public void setStderr(String filename)

### getStdin

public String getStdin()

### setStdin

public void setStdin(String filename)

### getTimeout

public long getTimeout()

### setTimout

public void setTimout(long timeoutMs)