## org.apache.http.entity.mime
Class HttpMultipart

    java.lang.Object
      org.apache.http.entity.mime.HttpMultipart

    public class HttpMultipart

extends Object

HttpMultipart represents a collection of MIME multipart encoded content bodies. This class is capable of operating either in the strict (RFC 822, RFC 2045, RFC 2046 compliant) or the browser compatible modes.

Since:
  4.0

Constructor Summary
`HttpMultipart(String subType, Charset charset, String boundary)` Creates an instance with the specified settings.
`HttpMultipart(String subType, Charset charset, String boundary, HttpMultipartMode mode)` Creates an instance with the specified settings.
`HttpMultipart(String subType, String boundary)`

Method Summary
`void` `addBodyPart(FormBodyPart part)`
`List<FormBodyPart>` `getBodyParts()`
`String` `getBoundary()`
`Charset` `getCharset()`
`HttpMultipartMode` `getMode()`
`String` `getSubType()`
`long` `getTotalLength()` Determines the total length of the multipart content (content length of individual parts plus that of extra elements required to delimit the parts from one another).
`void` `writeTo(OutputStream out)` Writes out the content in the multipart/form encoding.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### HttpMultipart

    public HttpMultipart(String subType,
                         Charset charset,
                         String boundary,
                         HttpMultipartMode mode)

  Creates an instance with the specified settings.

  Parameters:
    `subType` - mime subtype - must not be `null`
    `charset` - the character set to use. May be `null`, in which case `MIME.DEFAULT_CHARSET` - i.e. US-ASCII - is used.
    `boundary` - to use - must not be `null`
    `mode` - the mode to use
  Throws:
    `IllegalArgumentException` - if charset is null or boundary is null

### HttpMultipart

    public HttpMultipart(String subType,
                         Charset charset,
                         String boundary)

  Creates an instance with the specified settings. Mode is set to `HttpMultipartMode.STRICT`

  Parameters:
    `subType` - mime subtype - must not be `null`
    `charset` - the character set to use. May be `null`, in which case `MIME.DEFAULT_CHARSET` - i.e. US-ASCII - is used.
    `boundary` - to use - must not be `null`
  Throws:
    `IllegalArgumentException` - if charset is null or boundary is null

### HttpMultipart

    public HttpMultipart(String subType,
                         String boundary)

Method Detail

### getSubType

    public String getSubType()

### getCharset

    public Charset getCharset()

### getMode

    public HttpMultipartMode getMode()

### getBodyParts

    public List<FormBodyPart> getBodyParts()

### addBodyPart

    public void addBodyPart(FormBodyPart part)

### getBoundary

    public String getBoundary()

### writeTo

    public void writeTo(OutputStream out)
                 throws IOException

  Writes out the content in the multipart/form encoding. This method produces slightly different formatting depending on its compatibility mode.

  Throws:
    `IOException`
  See Also:
    `getMode()`

### getTotalLength

    public long getTotalLength()

  Determines the total length of the multipart content (content length of individual parts plus that of extra elements required to delimit the parts from one another). If any of the @{link BodyPart}s contained in this object is of a streaming entity of unknown length the total length is also unknown.

  This method buffers only a small amount of data in order to determine the total length of the entire entity. The content of individual parts is not buffered.

  Returns:
    total length of the multipart entity if known, `-1` otherwise.

Copyright © 1999-2011 The Apache Software Foundation. All Rights Reserved.