Class MultipartPayloadProvider

java.lang.Object
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 Details

  • Constructor Details

    • MultipartPayloadProvider

      public MultipartPayloadProvider()
  • Method Details

    • 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)