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

## Class MultipartRelatedInputImpl

- java.lang.Object
- - org.jboss.resteasy.plugins.providers.multipart.MultipartInputImpl
  - - org.jboss.resteasy.plugins.providers.multipart.MultipartRelatedInputImpl

- All Implemented Interfaces:
    `ProvidersContextRetainer`, `MultipartInput`, `MultipartRelatedInput`

      public class MultipartRelatedInputImpl
      extends MultipartInputImpl
      implements MultipartRelatedInput

  Implements `MultipartRelatedInput` by extending `MultipartInputImpl` and adding multipart/related functionality.
  Version:
    $Revision: 1 $
  Author:
    Attila Kiraly

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.jboss.resteasy.plugins.providers.multipart.MultipartInputImpl

      `MultipartInputImpl.PartImpl`

  - ### Field Summary

    - ### Fields inherited from class org.jboss.resteasy.plugins.providers.multipart.MultipartInputImpl

      `contentType, defaultPartCharset, defaultPartContentType, empty, mimeMessage, parts, savedProviders, workers`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MultipartRelatedInputImpl​(javax.ws.rs.core.MediaType contentType, javax.ws.rs.ext.Providers workers)` |
    `MultipartRelatedInputImpl​(org.apache.james.mime4j.dom.Multipart multipart, javax.ws.rs.ext.Providers workers)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected InputPart` | `extractPart​(org.apache.james.mime4j.message.BodyPart bodyPart)` |
    `Map<String,​InputPart>` | `getRelatedMap()` |
    `InputPart` | `getRootPart()` |
    `String` | `getStart()` | A start parameter is not mandatory in a message.
    `String` | `getStartInfo()` | Optional.
    `String` | `getType()` | The type parameter as it was read from the content-type header of the multipart/related message.
    `void` | `parse​(InputStream is)` |

    - ### Methods inherited from class org.jboss.resteasy.plugins.providers.multipart.MultipartInputImpl

      `addHeaderToHeadlessStream, close, createHeaderInputStream, extractParts, finalize, getCharset, getParts, getPreamble, main, setProviders`

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

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

    - ### Methods inherited from interface org.jboss.resteasy.plugins.providers.multipart.MultipartInput

      `close, getParts, getPreamble`

- - ### Constructor Detail

    - #### MultipartRelatedInputImpl

          public MultipartRelatedInputImpl​(javax.ws.rs.core.MediaType contentType,
                                           javax.ws.rs.ext.Providers workers)

    - #### MultipartRelatedInputImpl

          public MultipartRelatedInputImpl​(org.apache.james.mime4j.dom.Multipart multipart,
                                           javax.ws.rs.ext.Providers workers)
                                    throws IOException

      Throws:
        `IOException`

  - ### Method Detail

    - #### parse

          public void parse​(InputStream is)
                     throws IOException

      Overrides:
        `parse` in class `MultipartInputImpl`
      Throws:
        `IOException`

    - #### extractPart

          protected InputPart extractPart​(org.apache.james.mime4j.message.BodyPart bodyPart)
                                   throws IOException

      Overrides:
        `extractPart` in class `MultipartInputImpl`
      Throws:
        `IOException`

    - #### getRelatedMap

          public Map<String,​InputPart> getRelatedMap()

      Specified by:
        `getRelatedMap` in interface `MultipartRelatedInput`
      Returns:
        a map holding all parts with their unique id-s as keys. The root part and the related parts too.

    - #### getRootPart

          public InputPart getRootPart()

      Specified by:
        `getRootPart` in interface `MultipartRelatedInput`
      Returns:
        the root part of the message. If a start parameter was set in the message header the part with that id is returned. If no start parameter was set the first part is returned.

    - #### getStart

          public String getStart()

      Description copied from interface: `MultipartRelatedInput`
      A start parameter is not mandatory in a message. If it is presented it holds the id of the root part.
      Specified by:
        `getStart` in interface `MultipartRelatedInput`
      Returns:
        the start parameter of the content-type header of the message, null if there was no such parameter

    - #### getStartInfo

          public String getStartInfo()

      Description copied from interface: `MultipartRelatedInput`
      Optional.
      Specified by:
        `getStartInfo` in interface `MultipartRelatedInput`
      Returns:
        the start-info parameter of the content-type header of the message, null if there was no such parameter

    - #### getType

          public String getType()

      Description copied from interface: `MultipartRelatedInput`
      The type parameter as it was read from the content-type header of the multipart/related message. A well formed multipart/related message always has this parameter. This is the type of the root part of the message. If a content-type header is presented in the root part as well it should hold the same value.
      Specified by:
        `getType` in interface `MultipartRelatedInput`
      Returns:
        the type parameter of the content-type header of the message, null if there was no such parameter