Class MultipartFormAnnotationWriter

All Implemented Interfaces:
jakarta.ws.rs.ext.MessageBodyWriter<Object>, AsyncMessageBodyWriter<Object>

@Provider @Produces("multipart/form-data") public class MultipartFormAnnotationWriter extends AbstractMultipartFormDataWriter implements AsyncMessageBodyWriter<Object>
Version:
$Revision: 1 $
Author:
Bill Burke
  • Constructor Details

    • MultipartFormAnnotationWriter

      public MultipartFormAnnotationWriter()
  • Method Details

    • isWriteable

      public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)
      Specified by:
      isWriteable in interface jakarta.ws.rs.ext.MessageBodyWriter<Object>
    • getSize

      public long getSize(Object o, Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType)
      Specified by:
      getSize in interface jakarta.ws.rs.ext.MessageBodyWriter<Object>
    • writeTo

      public void writeTo(Object obj, Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, OutputStream entityStream) throws IOException, jakarta.ws.rs.WebApplicationException
      Specified by:
      writeTo in interface jakarta.ws.rs.ext.MessageBodyWriter<Object>
      Throws:
      IOException
      jakarta.ws.rs.WebApplicationException
    • asyncWriteTo

      public CompletionStage<Void> asyncWriteTo(Object obj, Class<?> type, Type genericType, Annotation[] annotations, jakarta.ws.rs.core.MediaType mediaType, jakarta.ws.rs.core.MultivaluedMap<String,Object> httpHeaders, AsyncOutputStream entityStream)
      Description copied from interface: AsyncMessageBodyWriter
      Write a type to an HTTP message using async IO. The message header map is mutable but any changes must be made before writing to the async output stream since the headers will be flushed prior to writing the message body.
      Specified by:
      asyncWriteTo in interface AsyncMessageBodyWriter<Object>
      Parameters:
      obj - the instance to write.
      type - the class of instance that is to be written.
      genericType - the type of instance to be written. GenericEntity provides a way to specify this information at runtime.
      annotations - an array of the annotations attached to the message entity instance.
      mediaType - the media type of the HTTP entity.
      httpHeaders - a mutable map of the HTTP message headers.
      entityStream - the AsyncOutputStream for the HTTP entity. The implementation should not close the output stream.
      Returns:
      a CompletionStage indicating completion
    • getFilename

      protected String getFilename(AccessibleObject method)
    • getFields

      protected void getFields(Class<?> type, MultipartFormDataOutput output, Object obj) throws IOException
      Throws:
      IOException