Top Description Fields Constructors Methods
org.apache.hc.client5.http.entity.mime

public Class MultipartEntityBuilder

extends Object
Class Inheritance
Imports
java.io.File, .InputStream, java.nio.CharBuffer, java.nio.charset.Charset, .StandardCharsets, java.util.ArrayList, .Collections, .List, java.util.concurrent.ThreadLocalRandom, org.apache.hc.core5.http.ContentType, .HttpEntity, .NameValuePair, org.apache.hc.core5.http.message.BasicNameValuePair, org.apache.hc.core5.util.Args

Builder for multipart HttpEntitys.
Since
5.0

Field Summary

Modifier and TypeField and Description
private String
private Charset
private ContentType
private static final NameValuePair[]
EMPTY_NAME_VALUE_ARRAY

An empty immutable NameValuePair array.

private String
epilogue

The epilogue of the multipart message.

private HttpMultipartMode
private static final char[]
MULTIPART_CHARS

The pool of ASCII chars to be used for generating a multipart boundary.

private List<MultipartPart>
private String
preamble

The preamble of the multipart message.

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public MultipartEntityBuilder
addBinaryBody(final String name, final byte[] b, final ContentType contentType, final String filename)

public MultipartEntityBuilder
addBinaryBody(final String name, final byte[] b)

public MultipartEntityBuilder
addBinaryBody(final String name, final File file, final ContentType contentType, final String filename)

public MultipartEntityBuilder
addBinaryBody(final String name, final File file)

public MultipartEntityBuilder
addBinaryBody(final String name, final InputStream stream, final ContentType contentType, final String filename)

public MultipartEntityBuilder
addBinaryBody(final String name, final InputStream stream)

public MultipartEntityBuilder

Returns:

This MultipartEntityBuilder instance, to allow for method chaining
addEpilogue
(final String
The epilogue text to add to the multipart entity
epilogue
)

Adds an epilogue to the multipart entity being constructed.

public MultipartEntityBuilder

Returns:

the MultipartEntityBuilder instance.
addParameter
(final BasicNameValuePair
The name-value pair parameter to add to the ContentType.
parameter
)

Add parameter to the current ContentType.

public MultipartEntityBuilder
addPart(final MultipartPart multipartPart)

public MultipartEntityBuilder
addPart(final String name, final ContentBody contentBody)

public MultipartEntityBuilder

Returns:

This MultipartEntityBuilder instance, to allow for method chaining
addPreamble
(final String
The preamble text to add to the multipart entity
preamble
)

Adds a preamble to the multipart entity being constructed.

public MultipartEntityBuilder
addTextBody(final String name, final String text, final ContentType contentType)

public MultipartEntityBuilder
addTextBody(final String name, final String text)

public HttpEntity
pack-priv MultipartFormEntity
public static MultipartEntityBuilder
private String
public MultipartEntityBuilder
setBoundary(final String boundary)

public MultipartEntityBuilder
setCharset(final Charset charset)

public MultipartEntityBuilder
setContentType(final ContentType contentType)

public MultipartEntityBuilder
public MultipartEntityBuilder
setMimeSubtype(final String subType)

public MultipartEntityBuilder
public MultipartEntityBuilder
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

boundaryback to summary
private String boundary
charsetback to summary
private Charset charset
contentTypeback to summary
private ContentType contentType
EMPTY_NAME_VALUE_ARRAYback to summary
private static final NameValuePair[] EMPTY_NAME_VALUE_ARRAY

An empty immutable NameValuePair array.

epilogueback to summary
private String epilogue

The epilogue of the multipart message. This field stores the optional epilogue that should be added at the end of the multipart message. It can be null if no epilogue is needed.

modeback to summary
private HttpMultipartMode mode
MULTIPART_CHARSback to summary
private static final char[] MULTIPART_CHARS

The pool of ASCII chars to be used for generating a multipart boundary.

multipartPartsback to summary
private List<MultipartPart> multipartParts
preambleback to summary
private String preamble

The preamble of the multipart message. This field stores the optional preamble that should be added at the beginning of the multipart message. It can be null if no preamble is needed.

Constructor Detail

MultipartEntityBuilderback to summary
pack-priv MultipartEntityBuilder()

Method Detail

addBinaryBodyback to summary
public MultipartEntityBuilder addBinaryBody(final String name, final byte[] b, final ContentType contentType, final String filename)
addBinaryBodyback to summary
public MultipartEntityBuilder addBinaryBody(final String name, final byte[] b)
addBinaryBodyback to summary
public MultipartEntityBuilder addBinaryBody(final String name, final File file, final ContentType contentType, final String filename)
addBinaryBodyback to summary
public MultipartEntityBuilder addBinaryBody(final String name, final File file)
addBinaryBodyback to summary
public MultipartEntityBuilder addBinaryBody(final String name, final InputStream stream, final ContentType contentType, final String filename)
addBinaryBodyback to summary
public MultipartEntityBuilder addBinaryBody(final String name, final InputStream stream)
addEpilogueback to summary
public MultipartEntityBuilder addEpilogue(final String epilogue)

Adds an epilogue to the multipart entity being constructed. The epilogue is the text that appears after the last boundary delimiter. The epilogue is optional and may be null.

Parameters
epilogue:String

The epilogue text to add to the multipart entity

Returns:MultipartEntityBuilder

This MultipartEntityBuilder instance, to allow for method chaining

Since
5.3
addParameterback to summary
public MultipartEntityBuilder addParameter(final BasicNameValuePair parameter)

Add parameter to the current ContentType.

Parameters
parameter:BasicNameValuePair

The name-value pair parameter to add to the ContentType.

Returns:MultipartEntityBuilder

the MultipartEntityBuilder instance.

Since
5.2
addPartback to summary
public MultipartEntityBuilder addPart(final MultipartPart multipartPart)
Since
4.4
addPartback to summary
public MultipartEntityBuilder addPart(final String name, final ContentBody contentBody)
addPreambleback to summary
public MultipartEntityBuilder addPreamble(final String preamble)

Adds a preamble to the multipart entity being constructed. The preamble is the text that appears before the first boundary delimiter. The preamble is optional and may be null.

Parameters
preamble:String

The preamble text to add to the multipart entity

Returns:MultipartEntityBuilder

This MultipartEntityBuilder instance, to allow for method chaining

Since
5.3
addTextBodyback to summary
public MultipartEntityBuilder addTextBody(final String name, final String text, final ContentType contentType)
addTextBodyback to summary
public MultipartEntityBuilder addTextBody(final String name, final String text)
buildback to summary
public HttpEntity build()
buildEntityback to summary
pack-priv MultipartFormEntity buildEntity()
createback to summary
public static MultipartEntityBuilder create()
generateBoundaryback to summary
private String generateBoundary()
setBoundaryback to summary
public MultipartEntityBuilder setBoundary(final String boundary)
setCharsetback to summary
public MultipartEntityBuilder setCharset(final Charset charset)
setContentTypeback to summary
public MultipartEntityBuilder setContentType(final ContentType contentType)
Since
4.5
setLaxModeback to summary
public MultipartEntityBuilder setLaxMode()
setMimeSubtypeback to summary
public MultipartEntityBuilder setMimeSubtype(final String subType)
Since
4.4
setModeback to summary
public MultipartEntityBuilder setMode(final HttpMultipartMode mode)
setStrictModeback to summary
public MultipartEntityBuilder setStrictMode()