HeaderManager (Apache JMeter dist API)
Description: declaration: package: org.apache.jmeter.protocol.http.control, class: HeaderManager

Package org.apache.jmeter.protocol.http.control

# Class HeaderManager

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.config.ConfigTestElement
org.apache.jmeter.protocol.http.control.HeaderManager

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

public class HeaderManager extends ConfigTestElement implements Serializable, Replaceable
This class provides an interface to headers file to pass HTTP headers along with a request.

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
  Modifier and Type
  Field
  Description
  `static final String`
  `HEADERS`

  ### Fields inherited from class org.apache.jmeter.config.ConfigTestElement

  `PASSWORD, USERNAME`

  ### Fields inherited from interface org.apache.jmeter.testelement.TestElement

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `HeaderManager()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add()`
  Add an empty header.
  `void`
  `add(Header h)`
  Add a header.
  `void`
  `addFile(String headerFile)`
  Add header data from a file.
  `void`
  `clear()`
  `Header`
  `get(int i)`
  Return the header at index i.
  `Class<? extends String>`
  `getColumnClass(int column)`
  `int`
  `getColumnCount()`
  `String`
  `getColumnName(int column)`
  `Header`
  `getFirstHeaderNamed(String name)`
  Get the first header from Headers by the header name, or `null` if not found.
  `Header`
  `getHeader(int row)`
  `CollectionProperty`
  `getHeaders()`
  Get the collection of JMeterProperty entries representing the headers.
  `org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends HeaderManager,? extends org.apache.jmeter.protocol.http.control.HeaderManagerSchema>`
  `getProps()`
  `org.apache.jmeter.protocol.http.control.HeaderManagerSchema`
  `getSchema()`
  `HeaderManager`
  `merge(org.apache.jmeter.testelement.TestElement element)`
  Merge the attributes with a another HeaderManager's attributes.
  `HeaderManager`
  `merge(org.apache.jmeter.testelement.TestElement element, boolean preferLocalValues)`
  Deprecated.
  since 3.2, use `merge(TestElement)` as this method will be removed in a future version
  `void`
  `recoverRunningVersion()`
  `void`
  `remove(int index)`
  Remove a header.
  `void`
  `removeHeaderNamed(String name)`
  Remove from Headers the header named name
  `int`
  `replace(String regex, String replaceBy, boolean caseSensitive)`
  Replace in object by replaceBy
  `void`
  `save(String headFile)`
  Save the header data to a file.
  `int`
  `size()`
  Return the number of headers.

  ### Methods inherited from class org.apache.jmeter.config.ConfigTestElement

  `addConfigElement, addTestElement, expectsModification`

  ### Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement

  `addPropertiesValues, addProperty, addProperty, canRemove, 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, 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, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.jmeter.config.ConfigElement

  `clone`

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

- ## Field Details

  - ### HEADERS

    public static final String HEADERS
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### HeaderManager

    public HeaderManager()

- ## Method Details

  - ### getSchema

    public org.apache.jmeter.protocol.http.control.HeaderManagerSchema getSchema()
    Specified by:
      `getSchema` in interface `org.apache.jmeter.testelement.TestElement`
    Overrides:
      `getSchema` in class `ConfigTestElement`

  - ### getProps

    public org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends HeaderManager,? extends org.apache.jmeter.protocol.http.control.HeaderManagerSchema> getProps()
    Specified by:
      `getProps` in interface `org.apache.jmeter.testelement.TestElement`
    Overrides:
      `getProps` in class `ConfigTestElement`

  - ### recoverRunningVersion

    public void recoverRunningVersion()
    Description copied from class: `AbstractTestElement`
    Specified by:
      `recoverRunningVersion` in interface `org.apache.jmeter.testelement.TestElement`
    Overrides:
      `recoverRunningVersion` in class `AbstractTestElement`

  - ### clear

    public void clear()
    Specified by:
      `clear` in interface `org.apache.jmeter.testelement.TestElement`
    Overrides:
      `clear` in class `AbstractTestElement`

  - ### getHeaders

    public CollectionProperty getHeaders()
    Get the collection of JMeterProperty entries representing the headers.
    Returns:
      the header collection property

  - ### getColumnCount

    public int getColumnCount()

  - ### getColumnName

    public String getColumnName(int column)

  - ### getColumnClass

    public Class<? extends String> getColumnClass(int column)

  - ### getHeader

    public Header getHeader(int row)

  - ### save

    public void save(String headFile) throws IOException
    Save the header data to a file.
    Parameters:
      `headFile` - name of the file to store headers into. If name is relative the system property `user.dir` will be prepended
    Throws:
      `IOException` - if writing the headers fails

  - ### addFile

    public void addFile(String headerFile) throws IOException
    Add header data from a file.
    Parameters:
      `headerFile` - name of the file to read headers from. If name is relative the system property `user.dir` will be prepended
    Throws:
      `IOException` - if reading headers fails

  - ### add

    public void add(Header h)
    Add a header.
    Parameters:
      `h` - `Header` to add

  - ### add

    public void add()
    Add an empty header.

  - ### remove

    public void remove(int index)
    Remove a header.
    Parameters:
      `index` - index from the header to remove

  - ### size

    public int size()
    Return the number of headers.
    Returns:
      number of headers

  - ### get

    public Header get(int i)
    Return the header at index i.
    Parameters:
      `i` - index of the header to get
    Returns:
      `Header` at index `i`

  - ### getFirstHeaderNamed

    public Header getFirstHeaderNamed(String name)
    Get the first header from Headers by the header name, or `null` if not found.
    Parameters:
      `name` - header name
    Returns:
      the first header from Headers by the header name, or `null` if not found

  - ### removeHeaderNamed

    public void removeHeaderNamed(String name)
    Remove from Headers the header named name
    Parameters:
      `name` - header name

  - ### merge

    @Deprecated public HeaderManager merge(org.apache.jmeter.testelement.TestElement element, boolean preferLocalValues)
    Deprecated.
    since 3.2, use `merge(TestElement)` as this method will be removed in a future version
    Merge the attributes with a another HeaderManager's attributes.
    Parameters:
      `element` - The object to be merged with
      `preferLocalValues` - Not used
    Returns:
      merged HeaderManager
    Throws:
      `IllegalArgumentException` - if `element` is not an instance of `HeaderManager`

  - ### merge

    public HeaderManager merge(org.apache.jmeter.testelement.TestElement element)
    Merge the attributes with a another HeaderManager's attributes.
    Parameters:
      `element` - The object to be merged with
    Returns:
      merged HeaderManager
    Throws:
      `IllegalArgumentException` - if `element` is not an instance of `HeaderManager`

  - ### replace

    public int replace(String regex, String replaceBy, boolean caseSensitive) throws Exception
    Description copied from interface: `Replaceable`
    Replace in object by replaceBy
    Specified by:
      `replace` in interface `Replaceable`
    Parameters:
      `regex` - Regular expression to search for
      `replaceBy` - Text used as replacement
      `caseSensitive` - flag, whether search should be done case sensitive
    Returns:
      number of replacements
    Throws:
      `Exception` - when something fails while replacing