org.glassfish.jersey.media.multipart
Class FormDataMultiPart

java.lang.Object
  extended by org.glassfish.jersey.media.multipart.BodyPart
      extended by org.glassfish.jersey.media.multipart.MultiPart
          extended by org.glassfish.jersey.media.multipart.FormDataMultiPart
All Implemented Interfaces:
Closeable

public class FormDataMultiPart
extends MultiPart

Subclass of MultiPart with specialized support for media type multipart/form-data. See RFC 2388 for the formal definition of this media type.

For a server side application wishing to process an incoming multipart/form-data message, the following features are provided:

For a client side application wishing to construct an outgoing multipart/form-data message, the following features are provided:

TODO Consider supporting the use case of a nested multipart/mixed body part to contain multiple uploaded files.

Author:
Craig McClanahan, Imran M Yousuf (imran at smartitengineering.com), Paul Sandoz (paul.sandoz at oracle.com), Michal Gajdos (michal.gajdos at oracle.com)

Field Summary
 
Fields inherited from class org.glassfish.jersey.media.multipart.BodyPart
contentDisposition, messageBodyWorkers
 
Constructor Summary
FormDataMultiPart()
          Instantiates a new FormDataMultiPart instance with default characteristics.
 
Method Summary
 FormDataMultiPart field(String name, Object entity, javax.ws.rs.core.MediaType mediaType)
          Builder pattern method to add a named field with an arbitrary media type and entity, and return this instance.
 FormDataMultiPart field(String name, String value)
          Builder pattern method to add a named field with a text value, and return this instance.
 FormDataBodyPart getField(String name)
          Gets a form data body part given a control name.
 Map<String,List<FormDataBodyPart>> getFields()
          Gets a map of form data body parts where the key is the control name and the value is a list of one or more form data body parts.
 List<FormDataBodyPart> getFields(String name)
          Gets a list of one or more form data body parts given a control name.
 void setMediaType(javax.ws.rs.core.MediaType mediaType)
          Disables changing the media type to anything other than multipart/form-data.
 
Methods inherited from class org.glassfish.jersey.media.multipart.MultiPart
bodyPart, bodyPart, cleanup, close, entity, getBodyParts, getEntity, setEntity, type
 
Methods inherited from class org.glassfish.jersey.media.multipart.BodyPart
contentDisposition, getContentDisposition, getEntityAs, getHeaders, getMediaType, getParameterizedHeaders, getParent, getProviders, setContentDisposition, setMessageBodyWorkers, setParent, setProviders
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FormDataMultiPart

public FormDataMultiPart()
Instantiates a new FormDataMultiPart instance with default characteristics.

Method Detail

field

public FormDataMultiPart field(String name,
                               String value)
Builder pattern method to add a named field with a text value, and return this instance.

Parameters:
name - the control name.
value - the text value.
Returns:
this instance.

field

public FormDataMultiPart field(String name,
                               Object entity,
                               javax.ws.rs.core.MediaType mediaType)
Builder pattern method to add a named field with an arbitrary media type and entity, and return this instance.

Parameters:
name - the control name.
entity - entity value for the new field.
mediaType - media type for the new field.
Returns:
this instance.

getField

public FormDataBodyPart getField(String name)
Gets a form data body part given a control name.

Parameters:
name - the control name.
Returns:
the form data body part, otherwise null if no part is present with the given control name. If more that one part is present with the same control name, then the first part that occurs is returned.

getFields

public List<FormDataBodyPart> getFields(String name)
Gets a list of one or more form data body parts given a control name.

Parameters:
name - the control name.
Returns:
the list of form data body parts, otherwise null if no parts are present with the given control name.

getFields

public Map<String,List<FormDataBodyPart>> getFields()
Gets a map of form data body parts where the key is the control name and the value is a list of one or more form data body parts.

Returns:
return the map of form data body parts.

setMediaType

public void setMediaType(javax.ws.rs.core.MediaType mediaType)
Disables changing the media type to anything other than multipart/form-data.

Overrides:
setMediaType in class MultiPart
Parameters:
mediaType - the proposed media type.
Throws:
IllegalArgumentException - if the proposed media type is not multipart/form-data.


Copyright © 2007-2014, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.