Class BodyPart
- java.lang.Object
-
- org.glassfish.jersey.media.multipart.BodyPart
-
- All Implemented Interfaces:
org.glassfish.jersey.innate.spi.MessageBodyWorkersSettable
- Direct Known Subclasses:
FormDataBodyPart,MultiPart
public class BodyPart extends Object implements org.glassfish.jersey.innate.spi.MessageBodyWorkersSettable
A mutable model representing a body part nested inside a MIME MultiPart entity.- Author:
- Craig McClanahan, Paul Sandoz, Michal Gajdos
-
-
Field Summary
Fields Modifier and Type Field Description protected ContentDispositioncontentDispositionMessageBodyWorkersmessageBodyWorkers
-
Constructor Summary
Constructors Constructor Description BodyPart()Instantiates a newBodyPartwith amediaTypeoftext/plain.BodyPart(MediaType mediaType)Instantiates a newBodyPartwith the specified characteristics.BodyPart(Object entity, MediaType mediaType)Instantiates a newBodyPartwith the specified characteristics.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcleanup()Perform any necessary cleanup at the end of processing thisBodyPart.BodyPartcontentDisposition(ContentDisposition contentDisposition)Builder pattern method to return thisBodyPartafter additional configuration.BodyPartentity(Object entity)Builder pattern method to return thisBodyPartafter additional configuration.ContentDispositiongetContentDisposition()Gets the content disposition.ObjectgetEntity()Returns the entity object to be unmarshalled from a request, or to be marshalled on a response.<T> TgetEntityAs(Class<T> clazz)Returns the entity after appropriate conversion to the requested type.MultivaluedMap<String,String>getHeaders()Returns a mutable map of HTTP header value(s) for thisBodyPart, keyed by the header name.MediaTypegetMediaType()Returns theMediaTypefor thisBodyPart.MultivaluedMap<String,ParameterizedHeader>getParameterizedHeaders()Returns an immutable map of parameterized HTTP header value(s) for thisBodyPart, keyed by header name.MultiPartgetParent()Returns the parentMultiPart(if any) for thisBodyPart.ProvidersgetProviders()Returns the configuredProvidersfor thisBodyPart.voidsetContentDisposition(ContentDisposition contentDisposition)Sets the content disposition.voidsetEntity(Object entity)Set the entity object to be unmarshalled from a request, or to be marshalled on a response.voidsetMediaType(MediaType mediaType)Sets theMediaTypefor thisBodyPart.voidsetMessageBodyWorkers(MessageBodyWorkers messageBodyWorkers)Set message body workers used to transform an entity stream into particular Java type.voidsetParent(MultiPart parent)Sets the parentMultiPart(if any) for thisBodyPart.voidsetProviders(Providers providers)Sets the configuredProvidersfor thisBodyPart.BodyParttype(MediaType type)Builder pattern method to return thisBodyPartafter additional configuration.
-
-
-
Field Detail
-
contentDisposition
protected ContentDisposition contentDisposition
-
messageBodyWorkers
public MessageBodyWorkers messageBodyWorkers
-
-
Method Detail
-
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 aMultiPartinstance; access the underlyingBodyParts 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 aMultiPartinstance; access the underlyingBodyParts instead
-
getHeaders
public MultivaluedMap<String,String> getHeaders()
Returns a mutable map of HTTP header value(s) for thisBodyPart, keyed by the header name. Key comparisons in the returned map must be case-insensitive. Note: MIME specifications says only headers that matchContent-*should be included on aBodyPart.- 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 thisBodyPart, keyed by header name. Key comparisons in the returned map must be case-insensitive. If you wish to modify the headers map for thisBodyPart, modify the map returned bygetHeaders()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:
- media type for this body part.
-
setMediaType
public void setMediaType(MediaType mediaType)
Sets theMediaTypefor thisBodyPart.- Parameters:
mediaType- the newMediaType.- Throws:
IllegalArgumentException- if themediaTypeisnull.
-
getParent
public MultiPart getParent()
Returns the parentMultiPart(if any) for thisBodyPart.- Returns:
- parent of this body type,
nullif not set.
-
setParent
public void setParent(MultiPart parent)
Sets the parentMultiPart(if any) for thisBodyPart.- Parameters:
parent- the new parent.
-
getProviders
public Providers getProviders()
Returns the configuredProvidersfor thisBodyPart.- Returns:
- providers of this body part.
-
setProviders
public void setProviders(Providers providers)
Sets the configuredProvidersfor thisBodyPart.- Parameters:
providers- the newProviders.
-
cleanup
public void cleanup()
Perform any necessary cleanup at the end of processing thisBodyPart.
-
entity
public BodyPart entity(Object entity)
Builder pattern method to return thisBodyPartafter additional configuration.- Parameters:
entity- entity to set for thisBodyPart.- 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 containingMultiPartinstance has been received, which causes theprovidersproperty 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 noMessageBodyReadercan be found to perform the requested conversion.IllegalStateException- if this method is called when theprovidersproperty 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 thisBodyPartafter additional configuration.- Parameters:
type- media type to set for thisBodyPart.- Returns:
- body-part instance.
-
contentDisposition
public BodyPart contentDisposition(ContentDisposition contentDisposition)
Builder pattern method to return thisBodyPartafter additional configuration.- Parameters:
contentDisposition- content disposition to set for thisBodyPart.- Returns:
- body-part instance.
-
setMessageBodyWorkers
public void setMessageBodyWorkers(MessageBodyWorkers messageBodyWorkers)
Set message body workers used to transform an entity stream into particular Java type.- Specified by:
setMessageBodyWorkersin interfaceorg.glassfish.jersey.innate.spi.MessageBodyWorkersSettable- Parameters:
messageBodyWorkers- message body workers.
-
-