Package org.apache.jmeter.protocol.http.util

# Class HTTPFileArg

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.protocol.http.util.HTTPFileArg

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `Searchable`, `org.apache.jmeter.testelement.TestElement`

public class HTTPFileArg extends AbstractTestElement implements Serializable
Class representing a file parameter for http upload. Consists of a http parameter name/file path pair with (optional) mimetype. Also provides temporary storage for the headers which are sent with files.

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 interface org.apache.jmeter.testelement.TestElement

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HTTPFileArg()`
  Constructor for an empty HTTPFileArg object
  `HTTPFileArg(String path)`
  Constructor for the HTTPFileArg object with given path.
  `HTTPFileArg(String path, String paramname, String mimetype)`
  Constructor for the HTTPFileArg object with full information.
  `HTTPFileArg(HTTPFileArg file)`
  Copy Constructor.
  `HTTPFileArg(JMeterProperty path, JMeterProperty paramname, JMeterProperty mimetype)`
  Constructor for the HTTPFileArg object with full information, using existing properties

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getHeader()`
  Gets the saved body header for the HTTPFileArg object.
  `String`
  `getMimeType()`
  Get the mimetype of the File.
  `String`
  `getParamName()`
  Get the http parameter name of the File.
  `String`
  `getPath()`
  Get the path of the File.
  `org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends HTTPFileArg,? extends org.apache.jmeter.protocol.http.util.HTTPFileArgSchema>`
  `getProps()`
  `org.apache.jmeter.protocol.http.util.HTTPFileArgSchema`
  `getSchema()`
  `boolean`
  `isNotEmpty()`
  Check if the entry is not empty.
  `void`
  `setHeader(String newHeader)`
  Sets the body header for the HTTPFileArg object.
  `void`
  `setMimeType(String newMimeType)`
  Set the mimetype of the File.
  `void`
  `setParamName(String newParamName)`
  Set the http parameter name of the File.
  `void`
  `setPath(String newPath)`
  Set the path of the File.
  `String`
  `toString()`
  returns path, param name, mime type information of HTTPFileArg object.

  ### Methods inherited from class org.apache.jmeter.testelement.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, getPropertyOrNull, 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 java.lang.Object

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

  ### 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

  - ### HTTPFileArg

    public HTTPFileArg()
    Constructor for an empty HTTPFileArg object

  - ### HTTPFileArg

    public HTTPFileArg(String path)
    Constructor for the HTTPFileArg object with given path.
    Parameters:
      `path` - path to the file to use
    Throws:
      `IllegalArgumentException` - if `path` is `null`

  - ### HTTPFileArg

    public HTTPFileArg(String path, String paramname, String mimetype)
    Constructor for the HTTPFileArg object with full information.
    Parameters:
      `path` - path of the file to use
      `paramname` - name of the http parameter to use for the file
      `mimetype` - mimetype of the file
    Throws:
      `IllegalArgumentException` - if any parameter is `null`

  - ### HTTPFileArg

    public HTTPFileArg(JMeterProperty path, JMeterProperty paramname, JMeterProperty mimetype)
    Constructor for the HTTPFileArg object with full information, using existing properties
    Parameters:
      `path` - path of the file to use
      `paramname` - name of the http parameter to use for the file
      `mimetype` - mimetype of the file
    Throws:
      `IllegalArgumentException` - if any parameter is `null`

  - ### HTTPFileArg

    public HTTPFileArg(HTTPFileArg file)
    Copy Constructor.
    Parameters:
      `file` - `HTTPFileArg` to get information about the path, http parameter name and mimetype of the file
    Throws:
      `IllegalArgumentException` - if any of those retrieved information is `null`

- ## Method Details

  - ### getSchema

    public org.apache.jmeter.protocol.http.util.HTTPFileArgSchema getSchema()
    Specified by:
      `getSchema` in interface `org.apache.jmeter.testelement.TestElement`

  - ### getProps

    public org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends HTTPFileArg,? extends org.apache.jmeter.protocol.http.util.HTTPFileArgSchema> getProps()
    Specified by:
      `getProps` in interface `org.apache.jmeter.testelement.TestElement`

  - ### setParamName

    public void setParamName(String newParamName)
    Set the http parameter name of the File.
    Parameters:
      `newParamName` - the new http parameter name

  - ### getParamName

    public String getParamName()
    Get the http parameter name of the File.
    Returns:
      the http parameter name

  - ### setMimeType

    public void setMimeType(String newMimeType)
    Set the mimetype of the File.
    Parameters:
      `newMimeType` - the new mimetype

  - ### getMimeType

    public String getMimeType()
    Get the mimetype of the File.
    Returns:
      the http parameter mimetype

  - ### setPath

    public void setPath(String newPath)
    Set the path of the File.
    Parameters:
      `newPath` - the new path

  - ### getPath

    public String getPath()
    Get the path of the File.
    Returns:
      the file's path

  - ### setHeader

    public void setHeader(String newHeader)
    Sets the body header for the HTTPFileArg object. Header contains path, parameter name and mime type information. This is only intended for use by methods which need to store information temporarily whilst creating the HTTP body.
    Parameters:
      `newHeader` - the new Header value

  - ### getHeader

    public String getHeader()
    Gets the saved body header for the HTTPFileArg object.
    Returns:
      saved body header

  - ### toString

    public String toString()
    returns path, param name, mime type information of HTTPFileArg object.
    Overrides:
      `toString` in class `Object`
    Returns:
      the string demonstration of HTTPFileArg object in this format: "path:'<PATH>'|param:'<PARAM NAME>'|mimetype:'<MIME TYPE>'"

  - ### isNotEmpty

    public boolean isNotEmpty()
    Check if the entry is not empty.
    Returns:
      true if Path, name or mimetype fields are not the empty string