Package org.htmlunit.util

# Class KeyDataPair

java.lang.Object
org.htmlunit.util.NameValuePair
org.htmlunit.util.KeyDataPair

All Implemented Interfaces:
  `Serializable`

public class KeyDataPair extends NameValuePair
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
A holder for a key/value pair that represents a file to upload.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `KeyDataPair(String key, File file, String fileName, String mimeType, String charset)`
  Creates an instance.
  `KeyDataPair(String key, File file, String fileName, String mimeType, Charset charset)`
  Creates an instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object object)`
  `Charset`
  `getCharset()`
  Gets the charset encoding for this file upload.
  `byte[]`
  `getData()`
  Gets in-memory data assigned to file value.
  `File`
  `getFile()`
  `String`
  `getFileName()`
  `String`
  `getMimeType()`
  Gets the MIME type for this file upload.
  `int`
  `hashCode()`
  `KeyDataPair`
  `normalized()`
  INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
  convert null values to empty string
  `void`
  `setData(byte[] data)`
  Sets file value data.

  ### Methods inherited from class org.htmlunit.util.NameValuePair

  `getName, getValue, toString`

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

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

- ## Constructor Details

  - ### KeyDataPair

    public KeyDataPair(String key, File file, String fileName, String mimeType, String charset)
    Creates an instance.
    Parameters:
      `key` - the key
      `file` - the file
      `fileName` - the name of the file
      `mimeType` - the MIME type
      `charset` - the charset encoding

  - ### KeyDataPair

    public KeyDataPair(String key, File file, String fileName, String mimeType, Charset charset)
    Creates an instance.
    Parameters:
      `key` - the key
      `file` - the file
      `fileName` - the name of the file
      `mimeType` - the MIME type
      `charset` - the charset encoding

- ## Method Details

  - ### equals

    public boolean equals(Object object)
    Overrides:
      `equals` in class `NameValuePair`

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `NameValuePair`

  - ### getFile

    public File getFile()
    Returns:
      the `File` object if the file exists, else `null`

  - ### getFileName

    public String getFileName()
    Returns:
      the fileName

  - ### getCharset

    public Charset getCharset()
    Gets the charset encoding for this file upload.
    Returns:
      the charset

  - ### getMimeType

    public String getMimeType()
    Gets the MIME type for this file upload.
    Returns:
      the MIME type

  - ### getData

    public byte[] getData()
    Gets in-memory data assigned to file value.
    Returns:
      `null` if the file content should be used.

  - ### setData

    public void setData(byte[] data)
    Sets file value data. If nothing is set, the file content will be used.
    Parameters:
      `data` - byte array with file data.

  - ### normalized

    public KeyDataPair normalized()
    INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
    convert null values to empty string Specialization of inherited method which will copy all fields and make sure that the value in the base class is not null, by calling the constructor with the current value
    Overrides:
      `normalized` in class `NameValuePair`
    Returns:
      a normalized copy of the `NameValuePair`