Package org.jboss.resteasy.plugins.providers.multipart

## Interface InputPart

- All Known Implementing Classes:
    `MultipartInputImpl.PartImpl`

      public interface InputPart

  Represents one part of a multipart message.
  Version:
    $Revision: 1 $
  Author:
    Bill Burke

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `DEFAULT_CHARSET_PROPERTY` | If there is a content-type header without a charset parameter, charset=US-ASCII is assumed.
    `static String` | `DEFAULT_CONTENT_TYPE_PROPERTY` | If no content-type header is sent in a multipart message part "text/plain; charset=ISO-8859-1" is assumed.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `<T> T` | `getBody​(Class<T> type, Type genericType)` |
    `<T> T` | `getBody​(javax.ws.rs.core.GenericType<T> type)` |
    `String` | `getBodyAsString()` |
    `javax.ws.rs.core.MultivaluedMap<String,​String>` | `getHeaders()` |
    `javax.ws.rs.core.MediaType` | `getMediaType()` |
    `boolean` | `isContentTypeFromMessage()` |
    `void` | `setMediaType​(javax.ws.rs.core.MediaType mediaType)` | Change the media type of the body part before you extract it.

- - ### Field Detail

    - #### DEFAULT_CONTENT_TYPE_PROPERTY

          static final String DEFAULT_CONTENT_TYPE_PROPERTY

      If no content-type header is sent in a multipart message part "text/plain; charset=ISO-8859-1" is assumed.

      This can be overwritten by setting a different String value in `HttpRequest.setAttribute(String, Object)` with this ("resteasy.provider.multipart.inputpart.defaultContentType") String as key. It should be done in a `ContainerRequestFilter`.

      See Also:
        Constant Field Values

    - #### DEFAULT_CHARSET_PROPERTY

          static final String DEFAULT_CHARSET_PROPERTY

      If there is a content-type header without a charset parameter, charset=US-ASCII is assumed.

      This can be overwritten by setting a different String value in `HttpRequest.setAttribute(String, Object)` with this ("resteasy.provider.multipart.inputpart.defaultCharset") String as key. It should be done in a `ContainerRequestFilter`.

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getHeaders

          javax.ws.rs.core.MultivaluedMap<String,​String> getHeaders()

      Returns:
        headers of this part

    - #### getBodyAsString

          String getBodyAsString()
                          throws IOException

      Throws:
        `IOException`

    - #### getBody

          <T> T getBody​(Class<T> type,
                        Type genericType)
                 throws IOException

      Throws:
        `IOException`

    - #### getBody

          <T> T getBody​(javax.ws.rs.core.GenericType<T> type)
                 throws IOException

      Throws:
        `IOException`

    - #### getMediaType

          javax.ws.rs.core.MediaType getMediaType()

      Returns:
        "Content-Type" of this part

    - #### isContentTypeFromMessage

          boolean isContentTypeFromMessage()

      Returns:
        true if the Content-Type was resolved from the message, false if it was resolved from the server default

    - #### setMediaType

          void setMediaType​(javax.ws.rs.core.MediaType mediaType)

      Change the media type of the body part before you extract it. Useful for specifying a charset.
      Parameters:
        `mediaType` - media type