Class BodyPart

  • Direct Known Subclasses:
    FormDataBodyPart, MultiPart

    public class BodyPart
    extends java.lang.Object
    A mutable model representing a body part nested inside a MIME MultiPart entity.
    • Constructor Summary

      Constructors 
      Constructor Description
      BodyPart()
      Instantiates a new BodyPart with a mediaType of text/plain.
      BodyPart​(java.lang.Object entity, javax.ws.rs.core.MediaType mediaType)
      Instantiates a new BodyPart with the specified characteristics.
      BodyPart​(javax.ws.rs.core.MediaType mediaType)
      Instantiates a new BodyPart with the specified characteristics.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void cleanup()
      Perform any necessary cleanup at the end of processing this BodyPart.
      BodyPart contentDisposition​(ContentDisposition contentDisposition)
      Builder pattern method to return this BodyPart after additional configuration.
      BodyPart entity​(java.lang.Object entity)
      Builder pattern method to return this BodyPart after additional configuration.
      ContentDisposition getContentDisposition()
      Gets the content disposition.
      java.lang.Object getEntity()
      Returns the entity object to be unmarshalled from a request, or to be marshalled on a response.
      <T> T getEntityAs​(java.lang.Class<T> clazz)
      Returns the entity after appropriate conversion to the requested type.
      javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> getHeaders()
      Returns a mutable map of HTTP header value(s) for this BodyPart, keyed by the header name.
      javax.ws.rs.core.MediaType getMediaType()
      Returns the MediaType for this BodyPart.
      javax.ws.rs.core.MultivaluedMap<java.lang.String,​ParameterizedHeader> getParameterizedHeaders()
      Returns an immutable map of parameterized HTTP header value(s) for this BodyPart, keyed by header name.
      MultiPart getParent()
      Returns the parent MultiPart (if any) for this BodyPart.
      javax.ws.rs.ext.Providers getProviders()
      Returns the configured Providers for this BodyPart.
      void setContentDisposition​(ContentDisposition contentDisposition)
      Sets the content disposition.
      void setEntity​(java.lang.Object entity)
      Set the entity object to be unmarshalled from a request, or to be marshalled on a response.
      void setMediaType​(javax.ws.rs.core.MediaType mediaType)
      Sets the MediaType for this BodyPart.
      void setMessageBodyWorkers​(MessageBodyWorkers messageBodyWorkers)
      Set message body workers used to transform an entity stream into particular Java type.
      void setParent​(MultiPart parent)
      Sets the parent MultiPart (if any) for this BodyPart.
      void setProviders​(javax.ws.rs.ext.Providers providers)
      Sets the configured Providers for this BodyPart.
      BodyPart type​(javax.ws.rs.core.MediaType type)
      Builder pattern method to return this BodyPart after additional configuration.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • entity

        private java.lang.Object entity
      • headers

        private final javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> headers
      • mediaType

        private javax.ws.rs.core.MediaType mediaType
        Media type of this body part.
      • parent

        private MultiPart parent
        Parent of this body part.
      • providers

        private javax.ws.rs.ext.Providers providers
    • Constructor Detail

      • BodyPart

        public BodyPart()
        Instantiates a new BodyPart with a mediaType of text/plain.
      • BodyPart

        public BodyPart​(javax.ws.rs.core.MediaType mediaType)
        Instantiates a new BodyPart with the specified characteristics.
        Parameters:
        mediaType - MediaType for this body part.
      • BodyPart

        public BodyPart​(java.lang.Object entity,
                        javax.ws.rs.core.MediaType mediaType)
        Instantiates a new BodyPart with the specified characteristics.
        Parameters:
        entity - entity for this body part.
        mediaType - MediaType for this body part.
    • Method Detail

      • getEntity

        public java.lang.Object getEntity()
        Returns the entity object to be unmarshalled from a request, or to be marshalled on a response.
        Returns:
        an entity of this body part.
        Throws:
        java.lang.IllegalStateException - if this method is called on a MultiPart instance; access the underlying BodyParts instead
      • setEntity

        public void setEntity​(java.lang.Object entity)
        Set the entity object to be unmarshalled from a request, or to be marshalled on a response.
        Parameters:
        entity - the new entity object.
        Throws:
        java.lang.IllegalStateException - if this method is called on a MultiPart instance; access the underlying BodyParts instead
      • getHeaders

        public javax.ws.rs.core.MultivaluedMap<java.lang.String,​java.lang.String> getHeaders()
        Returns a mutable map of HTTP header value(s) for this BodyPart, keyed by the header name. Key comparisons in the returned map must be case-insensitive.

        Note: MIME specifications says only headers that match Content-* should be included on a BodyPart.

        Returns:
        mutable map of HTTP header values.
      • getParameterizedHeaders

        public javax.ws.rs.core.MultivaluedMap<java.lang.String,​ParameterizedHeader> getParameterizedHeaders()
                                                                                                            throws java.text.ParseException
        Returns an immutable map of parameterized HTTP header value(s) for this BodyPart, keyed by header name. Key comparisons in the returned map must be case-insensitive. If you wish to modify the headers map for this BodyPart, modify the map returned by getHeaders() instead.
        Returns:
        immutable map of HTTP header values.
        Throws:
        java.text.ParseException - if an un-expected/in-correct value is found during parsing the headers.
      • getContentDisposition

        public ContentDisposition getContentDisposition()
        Gets the content disposition.

        The "Content-Disposition" header, if present, will be parsed.

        Returns:
        the content disposition, will be null if not present.
        Throws:
        java.lang.IllegalArgumentException - if the content disposition header cannot be parsed.
      • setContentDisposition

        public void setContentDisposition​(ContentDisposition contentDisposition)
        Sets the content disposition.
        Parameters:
        contentDisposition - the content disposition.
      • getMediaType

        public javax.ws.rs.core.MediaType getMediaType()
        Returns the MediaType for this BodyPart. If not set, the default MediaType MUST be text/plain.
        Returns:
        media type for this body part.
      • setMediaType

        public void setMediaType​(javax.ws.rs.core.MediaType mediaType)
        Sets the MediaType for this BodyPart.
        Parameters:
        mediaType - the new MediaType.
        Throws:
        java.lang.IllegalArgumentException - if the mediaType is null.
      • getParent

        public MultiPart getParent()
        Returns the parent MultiPart (if any) for this BodyPart.
        Returns:
        parent of this body type, null if not set.
      • setParent

        public void setParent​(MultiPart parent)
        Sets the parent MultiPart (if any) for this BodyPart.
        Parameters:
        parent - the new parent.
      • getProviders

        public javax.ws.rs.ext.Providers getProviders()
        Returns the configured Providers for this BodyPart.
        Returns:
        providers of this body part.
      • setProviders

        public void setProviders​(javax.ws.rs.ext.Providers providers)
        Sets the configured Providers for this BodyPart.
        Parameters:
        providers - the new Providers.
      • cleanup

        public void cleanup()
        Perform any necessary cleanup at the end of processing this BodyPart.
      • entity

        public BodyPart entity​(java.lang.Object entity)
        Builder pattern method to return this BodyPart after additional configuration.
        Parameters:
        entity - entity to set for this BodyPart.
        Returns:
        body-part instance.
      • getEntityAs

        public <T> T getEntityAs​(java.lang.Class<T> clazz)
        Returns the entity after appropriate conversion to the requested type. This is useful only when the containing MultiPart instance has been received, which causes the providers property to have been set.
        Parameters:
        clazz - desired class into which the entity should be converted.
        Returns:
        entity after appropriate conversion to the requested type.
        Throws:
        javax.ws.rs.ProcessingException - if an IO error arises during reading an entity.
        java.lang.IllegalArgumentException - if no MessageBodyReader can be found to perform the requested conversion.
        java.lang.IllegalStateException - if this method is called when the providers property has not been set or when the entity instance is not the unconverted content of the body part entity.
      • type

        public BodyPart type​(javax.ws.rs.core.MediaType type)
        Builder pattern method to return this BodyPart after additional configuration.
        Parameters:
        type - media type to set for this BodyPart.
        Returns:
        body-part instance.
      • contentDisposition

        public BodyPart contentDisposition​(ContentDisposition contentDisposition)
        Builder pattern method to return this BodyPart after additional configuration.
        Parameters:
        contentDisposition - content disposition to set for this BodyPart.
        Returns:
        body-part instance.
      • setMessageBodyWorkers

        public void setMessageBodyWorkers​(MessageBodyWorkers messageBodyWorkers)
        Set message body workers used to transform an entity stream into particular Java type.
        Parameters:
        messageBodyWorkers - message body workers.