org.glassfish.jersey.media.multipart
Class FormDataBodyPart

java.lang.Object
  extended by org.glassfish.jersey.media.multipart.BodyPart
      extended by org.glassfish.jersey.media.multipart.FormDataBodyPart
Direct Known Subclasses:
FileDataBodyPart, StreamDataBodyPart

public class FormDataBodyPart
extends BodyPart

Subclass of BodyPart 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:

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
FormDataBodyPart()
          Instantiates an unnamed new FormDataBodyPart with a mediaType of text/plain.
FormDataBodyPart(boolean fileNameFix)
          Instantiates an unnamed new FormDataBodyPart with mediaType of text/plain and setting the flag for applying the fix for erroneous file name value if content disposition header of messages coming from MS Internet Explorer (see JERSEY-759).
FormDataBodyPart(FormDataContentDisposition formDataContentDisposition, Object entity, MediaType mediaType)
          Instantiates a named FormDataBodyPart with the specified characteristics.
FormDataBodyPart(FormDataContentDisposition formDataContentDisposition, String value)
          Instantiates a named FormDataBodyPart with the specified characteristics.
FormDataBodyPart(MediaType mediaType)
          Instantiates an unnamed FormDataBodyPart with the specified characteristics.
FormDataBodyPart(Object entity, MediaType mediaType)
          Instantiates an unnamed FormDataBodyPart with the specified characteristics.
FormDataBodyPart(String name, Object entity, MediaType mediaType)
          Instantiates a named FormDataBodyPart with the specified characteristics.
FormDataBodyPart(String name, String value)
          Instantiates a named FormDataBodyPart with a media type of text/plain and String value.
 
Method Summary
 ContentDisposition getContentDisposition()
          Overrides the behaviour on BodyPart to ensure that only instances of FormDataContentDisposition can be obtained.
 FormDataContentDisposition getFormDataContentDisposition()
          Gets the form data content disposition.
 String getName()
          Gets the control name.
 String getValue()
          Gets the field value for this body part.
<T> T
getValueAs(Class<T> clazz)
          Gets the field value after appropriate conversion to the requested type.
 boolean isSimple()
           
 void setContentDisposition(ContentDisposition contentDisposition)
          Overrides the behaviour on BodyPart to ensure that only instances of FormDataContentDisposition can be set.
 void setFormDataContentDisposition(FormDataContentDisposition formDataContentDisposition)
          Sets the form data content disposition.
 void setName(String name)
          Sets the control name.
 void setValue(MediaType mediaType, Object value)
          Sets the field media type and value for this body part.
 void setValue(String value)
          Sets the field value for this body part.
 
Methods inherited from class org.glassfish.jersey.media.multipart.BodyPart
cleanup, contentDisposition, entity, getEntity, getEntityAs, getHeaders, getMediaType, getParameterizedHeaders, getParent, getProviders, setEntity, setMediaType, setMessageBodyWorkers, setParent, setProviders, type
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FormDataBodyPart

public FormDataBodyPart()
Instantiates an unnamed new FormDataBodyPart with a mediaType of text/plain.


FormDataBodyPart

public FormDataBodyPart(boolean fileNameFix)
Instantiates an unnamed new FormDataBodyPart with mediaType of text/plain and setting the flag for applying the fix for erroneous file name value if content disposition header of messages coming from MS Internet Explorer (see JERSEY-759).

Parameters:
fileNameFix - If set to true, header parser will not treat backslash as an escape character when retrieving the value of filename parameter of Content-Disposition header.

FormDataBodyPart

public FormDataBodyPart(MediaType mediaType)
Instantiates an unnamed FormDataBodyPart with the specified characteristics.

Parameters:
mediaType - the MediaType for this body part.

FormDataBodyPart

public FormDataBodyPart(Object entity,
                        MediaType mediaType)
Instantiates an unnamed FormDataBodyPart with the specified characteristics.

Parameters:
entity - the entity for this body part.
mediaType - the MediaType for this body part.

FormDataBodyPart

public FormDataBodyPart(String name,
                        String value)
Instantiates a named FormDataBodyPart with a media type of text/plain and String value.

Parameters:
name - the control name for this body part.
value - the value for this body part.

FormDataBodyPart

public FormDataBodyPart(String name,
                        Object entity,
                        MediaType mediaType)
Instantiates a named FormDataBodyPart with the specified characteristics.

Parameters:
name - the control name for this body part.
entity - the entity for this body part.
mediaType - the MediaType for this body part.

FormDataBodyPart

public FormDataBodyPart(FormDataContentDisposition formDataContentDisposition,
                        String value)
Instantiates a named FormDataBodyPart with the specified characteristics.

Parameters:
formDataContentDisposition - the content disposition header for this body part.
value - the value for this body part.

FormDataBodyPart

public FormDataBodyPart(FormDataContentDisposition formDataContentDisposition,
                        Object entity,
                        MediaType mediaType)
Instantiates a named FormDataBodyPart with the specified characteristics.

Parameters:
formDataContentDisposition - the content disposition header for this body part.
entity - the entity for this body part.
mediaType - the MediaType for this body part.
Method Detail

getFormDataContentDisposition

public FormDataContentDisposition getFormDataContentDisposition()
Gets the form data content disposition.

Returns:
the form data content disposition.

setFormDataContentDisposition

public void setFormDataContentDisposition(FormDataContentDisposition formDataContentDisposition)
Sets the form data content disposition.

Parameters:
formDataContentDisposition - the form data content disposition.

getContentDisposition

public ContentDisposition getContentDisposition()
Overrides the behaviour on BodyPart to ensure that only instances of FormDataContentDisposition can be obtained.

Overrides:
getContentDisposition in class BodyPart
Returns:
the content disposition.
Throws:
IllegalArgumentException - if the content disposition header cannot be parsed.

setContentDisposition

public void setContentDisposition(ContentDisposition contentDisposition)
Overrides the behaviour on BodyPart to ensure that only instances of FormDataContentDisposition can be set.

Overrides:
setContentDisposition in class BodyPart
Parameters:
contentDisposition - the content disposition which must be an instance of FormDataContentDisposition.
Throws:
IllegalArgumentException - if the content disposition is not an instance of FormDataContentDisposition.

getName

public String getName()
Gets the control name.

Returns:
the control name.

setName

public void setName(String name)
Sets the control name.

Parameters:
name - the control name.

getValue

public String getValue()
Gets the field value for this body part. This should be called only on body parts representing simple field values.

Returns:
the simple field value.
Throws:
IllegalStateException - if called on a body part with a media type other than text/plain

getValueAs

public <T> T getValueAs(Class<T> clazz)
Gets the field value after appropriate conversion to the requested type. This is useful only when the containing FormDataMultiPart instance has been received, which causes the providers property to have been set.

Type Parameters:
T - the type of the field value.
Parameters:
clazz - Desired class into which the field value should be converted.
Returns:
the field value.
Throws:
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.

setValue

public void setValue(String value)
Sets the field value for this body part. This should be called only on body parts representing simple field values.

Parameters:
value - the field value.
Throws:
IllegalStateException - if called on a body part with a media type other than text/plain.

setValue

public void setValue(MediaType mediaType,
                     Object value)
Sets the field media type and value for this body part.

Parameters:
mediaType - the media type for this field value.
value - the field value as a Java object.

isSimple

public boolean isSimple()
Returns:
true if this body part represents a simple, string-based, field value, otherwise false.


Copyright © 2007-2013 Oracle Corporation. All Rights Reserved. Use is subject to license terms.