Class BodyPart
- java.lang.Object
-
- org.glassfish.jersey.media.multipart.BodyPart
-
- Direct Known Subclasses:
FormDataBodyPart,MultiPart
public class BodyPart extends java.lang.ObjectA mutable model representing a body part nested inside a MIME MultiPart entity.
-
-
Field Summary
Fields Modifier and Type Field Description protected ContentDispositioncontentDispositionprivate java.lang.Objectentityprivate javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.String>headersprivate javax.ws.rs.core.MediaTypemediaTypeMedia type of this body part.MessageBodyWorkersmessageBodyWorkersprivate MultiPartparentParent of this body part.private javax.ws.rs.ext.Providersproviders
-
Constructor Summary
Constructors Constructor Description BodyPart()Instantiates a newBodyPartwith amediaTypeoftext/plain.BodyPart(java.lang.Object entity, javax.ws.rs.core.MediaType mediaType)Instantiates a newBodyPartwith the specified characteristics.BodyPart(javax.ws.rs.core.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(java.lang.Object entity)Builder pattern method to return thisBodyPartafter additional configuration.ContentDispositiongetContentDisposition()Gets the content disposition.java.lang.ObjectgetEntity()Returns the entity object to be unmarshalled from a request, or to be marshalled on a response.<T> TgetEntityAs(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 thisBodyPart, keyed by the header name.javax.ws.rs.core.MediaTypegetMediaType()Returns theMediaTypefor thisBodyPart.javax.ws.rs.core.MultivaluedMap<java.lang.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.javax.ws.rs.ext.ProvidersgetProviders()Returns the configuredProvidersfor thisBodyPart.voidsetContentDisposition(ContentDisposition contentDisposition)Sets the content disposition.voidsetEntity(java.lang.Object entity)Set the entity object to be unmarshalled from a request, or to be marshalled on a response.voidsetMediaType(javax.ws.rs.core.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(javax.ws.rs.ext.Providers providers)Sets the configuredProvidersfor thisBodyPart.BodyParttype(javax.ws.rs.core.MediaType type)Builder pattern method to return thisBodyPartafter additional configuration.
-
-
-
Field Detail
-
contentDisposition
protected ContentDisposition contentDisposition
-
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.
-
messageBodyWorkers
public MessageBodyWorkers messageBodyWorkers
-
parent
private MultiPart parent
Parent of this body part.
-
providers
private javax.ws.rs.ext.Providers providers
-
-
Constructor Detail
-
BodyPart
public BodyPart()
Instantiates a newBodyPartwith amediaTypeoftext/plain.
-
BodyPart
public BodyPart(javax.ws.rs.core.MediaType mediaType)
Instantiates a newBodyPartwith the specified characteristics.- Parameters:
mediaType-MediaTypefor this body part.
-
BodyPart
public BodyPart(java.lang.Object entity, javax.ws.rs.core.MediaType mediaType)Instantiates a newBodyPartwith the specified characteristics.- Parameters:
entity- entity for this body part.mediaType-MediaTypefor 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 aMultiPartinstance; access the underlyingBodyParts 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 aMultiPartinstance; access the underlyingBodyParts 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 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 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 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:
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 theMediaTypefor thisBodyPart. If not set, the defaultMediaTypeMUST betext/plain.- Returns:
- media type for this body part.
-
setMediaType
public void setMediaType(javax.ws.rs.core.MediaType mediaType)
Sets theMediaTypefor thisBodyPart.- Parameters:
mediaType- the newMediaType.- Throws:
java.lang.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 javax.ws.rs.ext.Providers getProviders()
Returns the configuredProvidersfor thisBodyPart.- Returns:
- providers of this body part.
-
setProviders
public void setProviders(javax.ws.rs.ext.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(java.lang.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(java.lang.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:
javax.ws.rs.ProcessingException- if an IO error arises during reading an entity.java.lang.IllegalArgumentException- if noMessageBodyReadercan be found to perform the requested conversion.java.lang.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(javax.ws.rs.core.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.- Parameters:
messageBodyWorkers- message body workers.
-
-