Class BodyPart

java.lang.Object
org.glassfish.jersey.media.multipart.BodyPart
Direct Known Subclasses:
FormDataBodyPart, MultiPart

public class BodyPart extends Object
A mutable model representing a body part nested inside a MIME MultiPart entity.
Author:
Craig McClanahan, Paul Sandoz, Michal Gajdos
  • Field Details

  • Constructor Details

    • BodyPart

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

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

      public BodyPart(Object entity, MediaType mediaType)
      Instantiates a new BodyPart with the specified characteristics.
      Parameters:
      entity - entity for this body part.
      mediaType - MediaType for this body part.
  • Method Details

    • getEntity

      public 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:
      IllegalStateException - if this method is called on a MultiPart instance; access the underlying BodyParts instead
    • setEntity

      public void setEntity(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:
      IllegalStateException - if this method is called on a MultiPart instance; access the underlying BodyParts instead
    • getHeaders

      public MultivaluedMap<String,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 MultivaluedMap<String,ParameterizedHeader> getParameterizedHeaders() throws 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:
      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:
      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 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(MediaType mediaType)
      Sets the MediaType for this BodyPart.
      Parameters:
      mediaType - the new MediaType.
      Throws:
      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 Providers getProviders()
      Returns the configured Providers for this BodyPart.
      Returns:
      providers of this body part.
    • setProviders

      public void setProviders(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(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(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:
      ProcessingException - if an IO error arises during reading an entity.
      IllegalArgumentException - if no MessageBodyReader can be found to perform the requested conversion.
      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(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.