org.apache.hc.client5.http.entity

## Class EntityBuilder

- java.lang.Object
- - org.apache.hc.client5.http.entity.EntityBuilder

-     public class EntityBuilder
      extends Object

  Builder for `HttpEntity` instances.

  Several setter methods of this builder are mutually exclusive. In case of multiple invocations of the following methods only the last one will have effect:

  - `setText(String)`
  - `setBinary(byte[])`
  - `setStream(java.io.InputStream)`
  - `setSerializable(java.io.Serializable)`
  - `setParameters(java.util.List)`
  - `setParameters(NameValuePair...)`
  - `setFile(java.io.File)`
  Since:
    4.3

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `org.apache.hc.core5.http.HttpEntity` | `build()` Creates new instance of `HttpEntity` based on the current state.
    `EntityBuilder` | `chunked()` Makes entity chunk coded.
    `static EntityBuilder` | `create()`
    `byte[]` | `getBinary()` Returns entity content as a byte array if set using `setBinary(byte[])` method.
    `String` | `getContentEncoding()` Returns content encoding of the entity, if set.
    `org.apache.hc.core5.http.ContentType` | `getContentType()` Returns `ContentType` of the entity, if set.
    `File` | `getFile()` Returns entity content as a `File` if set using `setFile(java.io.File)` method.
    `List<org.apache.hc.core5.http.NameValuePair>` | `getParameters()` Returns entity content as a parameter list if set using `setParameters(java.util.List)` or `setParameters(NameValuePair...)` methods.
    `Serializable` | `getSerializable()` Returns entity content as a `Serializable` if set using `setSerializable(java.io.Serializable)` method.
    `InputStream` | `getStream()` Returns entity content as a `InputStream` if set using `setStream(java.io.InputStream)` method.
    `String` | `getText()` Returns entity content as a string if set using `setText(String)` method.
    `EntityBuilder` | `gzipCompressed()` Makes entity GZIP compressed.
    `boolean` | `isChunked()` Returns `true` if entity is to be chunk coded, `false` otherwise.
    `boolean` | `isGzipCompressed()` Returns `true` if entity is to be GZIP compressed, `false` otherwise.
    `EntityBuilder` | `setBinary(byte[] binary)` Sets entity content as a byte array.
    `EntityBuilder` | `setContentEncoding(String contentEncoding)` Sets content encoding of the entity.
    `EntityBuilder` | `setContentType(org.apache.hc.core5.http.ContentType contentType)` Sets `ContentType` of the entity.
    `EntityBuilder` | `setFile(File file)` Sets entity content as a `File`.
    `EntityBuilder` | `setParameters(List<org.apache.hc.core5.http.NameValuePair> parameters)` Sets entity content as a parameter list.
    `EntityBuilder` | `setParameters(org.apache.hc.core5.http.NameValuePair... parameters)` Sets entity content as a parameter list.
    `EntityBuilder` | `setSerializable(Serializable serializable)` Sets entity content as a `Serializable`.
    `EntityBuilder` | `setStream(InputStream stream)` Sets entity content as a `InputStream`.
    `EntityBuilder` | `setText(String text)` Sets entity content as a string.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### create

          public static EntityBuilder create()

    - #### getText

          public String getText()

      Returns entity content as a string if set using `setText(String)` method.

    - #### setText

          public EntityBuilder setText(String text)

      Sets entity content as a string. This method is mutually exclusive with `setBinary(byte[])`, `setStream(java.io.InputStream)` , `setSerializable(java.io.Serializable)` , `setParameters(java.util.List)`, `setParameters(NameValuePair...)` `setFile(java.io.File)` methods.

    - #### getBinary

          public byte[] getBinary()

      Returns entity content as a byte array if set using `setBinary(byte[])` method.

    - #### setBinary

          public EntityBuilder setBinary(byte[] binary)

      Sets entity content as a byte array. This method is mutually exclusive with `setText(String)`, `setStream(java.io.InputStream)` , `setSerializable(java.io.Serializable)` , `setParameters(java.util.List)`, `setParameters(NameValuePair...)` `setFile(java.io.File)` methods.

    - #### getStream

          public InputStream getStream()

      Returns entity content as a `InputStream` if set using `setStream(java.io.InputStream)` method.

    - #### setStream

          public EntityBuilder setStream(InputStream stream)

      Sets entity content as a `InputStream`. This method is mutually exclusive with `setText(String)`, `setBinary(byte[])`, `setSerializable(java.io.Serializable)` , `setParameters(java.util.List)`, `setParameters(NameValuePair...)` `setFile(java.io.File)` methods.

    - #### getParameters

          public List<org.apache.hc.core5.http.NameValuePair> getParameters()

      Returns entity content as a parameter list if set using `setParameters(java.util.List)` or `setParameters(NameValuePair...)` methods.

    - #### setParameters

          public EntityBuilder setParameters(List<org.apache.hc.core5.http.NameValuePair> parameters)

      Sets entity content as a parameter list. This method is mutually exclusive with `setText(String)`, `setBinary(byte[])`, `setStream(java.io.InputStream)` , `setSerializable(java.io.Serializable)` , `setFile(java.io.File)` methods.

    - #### setParameters

          public EntityBuilder setParameters(org.apache.hc.core5.http.NameValuePair... parameters)

      Sets entity content as a parameter list. This method is mutually exclusive with `setText(String)`, `setBinary(byte[])`, `setStream(java.io.InputStream)` , `setSerializable(java.io.Serializable)` , `setFile(java.io.File)` methods.

    - #### getSerializable

          public Serializable getSerializable()

      Returns entity content as a `Serializable` if set using `setSerializable(java.io.Serializable)` method.

    - #### setSerializable

          public EntityBuilder setSerializable(Serializable serializable)

      Sets entity content as a `Serializable`. This method is mutually exclusive with `setText(String)`, `setBinary(byte[])`, `setStream(java.io.InputStream)` , `setParameters(java.util.List)`, `setParameters(NameValuePair...)` `setFile(java.io.File)` methods.

    - #### getFile

          public File getFile()

      Returns entity content as a `File` if set using `setFile(java.io.File)` method.

    - #### setFile

          public EntityBuilder setFile(File file)

      Sets entity content as a `File`. This method is mutually exclusive with `setText(String)`, `setBinary(byte[])`, `setStream(java.io.InputStream)` , `setParameters(java.util.List)`, `setParameters(NameValuePair...)` `setSerializable(java.io.Serializable)` methods.

    - #### getContentType

          public org.apache.hc.core5.http.ContentType getContentType()

      Returns `ContentType` of the entity, if set.

    - #### setContentType

          public EntityBuilder setContentType(org.apache.hc.core5.http.ContentType contentType)

      Sets `ContentType` of the entity.

    - #### getContentEncoding

          public String getContentEncoding()

      Returns content encoding of the entity, if set.

    - #### setContentEncoding

          public EntityBuilder setContentEncoding(String contentEncoding)

      Sets content encoding of the entity.

    - #### isChunked

          public boolean isChunked()

      Returns `true` if entity is to be chunk coded, `false` otherwise.

    - #### chunked

          public EntityBuilder chunked()

      Makes entity chunk coded.

    - #### isGzipCompressed

          public boolean isGzipCompressed()

      Returns `true` if entity is to be GZIP compressed, `false` otherwise.

    - #### gzipCompressed

          public EntityBuilder gzipCompressed()

      Makes entity GZIP compressed.

    - #### build

          public org.apache.hc.core5.http.HttpEntity build()

      Creates new instance of `HttpEntity` based on the current state.

Copyright © 1999–2022 The Apache Software Foundation. All rights reserved.