org.camunda.bpm.engine.rest.mapper
Class MultipartPayloadProvider

java.lang.Object
  extended by org.camunda.bpm.engine.rest.mapper.MultipartPayloadProvider
All Implemented Interfaces:
javax.ws.rs.ext.MessageBodyReader<MultipartFormData>

@Provider
public class MultipartPayloadProvider
extends Object
implements javax.ws.rs.ext.MessageBodyReader<MultipartFormData>

Provides a MessageBodyReader for MultipartFormData. This allows writing resources which consume MediaType.MULTIPART_FORM_DATA which is parsed into a MultipartFormData object:

 @POST
 @Consumes(MediaType.MULTIPART_FORM_DATA)
 void handleMultipartPost(MultipartFormData multipartFormData);
 

The implementation used apache commons fileupload in order to parse the request and populate an instance of MultipartFormData.

Author:
Daniel Meyer

Field Summary
static String SUB_TYPE_NAME
           
static String TYPE_NAME
           
 
Constructor Summary
MultipartPayloadProvider()
           
 
Method Summary
protected  org.apache.commons.fileupload.FileUpload createFileUploadInstance()
           
protected  MultipartFormData createMultipartFormDataInstance()
           
protected  org.camunda.bpm.engine.rest.mapper.MultipartPayloadProvider.RestMultipartRequestContext createRequestContext(InputStream entityStream, String contentType)
           
 boolean isReadable(Class<?> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType)
           
protected  void parseRequest(MultipartFormData multipartFormData, org.apache.commons.fileupload.FileUpload fileUpload, org.camunda.bpm.engine.rest.mapper.MultipartPayloadProvider.RestMultipartRequestContext requestContext)
           
 MultipartFormData readFrom(Class<MultipartFormData> type, Type genericType, Annotation[] annotations, javax.ws.rs.core.MediaType mediaType, javax.ws.rs.core.MultivaluedMap<String,String> httpHeaders, InputStream entityStream)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TYPE_NAME

public static final String TYPE_NAME
See Also:
Constant Field Values

SUB_TYPE_NAME

public static final String SUB_TYPE_NAME
See Also:
Constant Field Values
Constructor Detail

MultipartPayloadProvider

public MultipartPayloadProvider()
Method Detail

isReadable

public boolean isReadable(Class<?> type,
                          Type genericType,
                          Annotation[] annotations,
                          javax.ws.rs.core.MediaType mediaType)
Specified by:
isReadable in interface javax.ws.rs.ext.MessageBodyReader<MultipartFormData>

readFrom

public MultipartFormData readFrom(Class<MultipartFormData> type,
                                  Type genericType,
                                  Annotation[] annotations,
                                  javax.ws.rs.core.MediaType mediaType,
                                  javax.ws.rs.core.MultivaluedMap<String,String> httpHeaders,
                                  InputStream entityStream)
                           throws IOException,
                                  javax.ws.rs.WebApplicationException
Specified by:
readFrom in interface javax.ws.rs.ext.MessageBodyReader<MultipartFormData>
Throws:
IOException
javax.ws.rs.WebApplicationException

createFileUploadInstance

protected org.apache.commons.fileupload.FileUpload createFileUploadInstance()

createMultipartFormDataInstance

protected MultipartFormData createMultipartFormDataInstance()

parseRequest

protected void parseRequest(MultipartFormData multipartFormData,
                            org.apache.commons.fileupload.FileUpload fileUpload,
                            org.camunda.bpm.engine.rest.mapper.MultipartPayloadProvider.RestMultipartRequestContext requestContext)

createRequestContext

protected org.camunda.bpm.engine.rest.mapper.MultipartPayloadProvider.RestMultipartRequestContext createRequestContext(InputStream entityStream,
                                                                                                                       String contentType)


Copyright © 2016 camunda services GmbH. All rights reserved.