Class WritableBodyWriter

java.lang.Object
io.micronaut.http.body.WritableBodyWriter
All Implemented Interfaces:
ChunkedMessageBodyReader<io.micronaut.core.io.Writable>, MessageBodyHandler<io.micronaut.core.io.Writable>, MessageBodyReader<io.micronaut.core.io.Writable>, MessageBodyWriter<io.micronaut.core.io.Writable>, TypedMessageBodyHandler<io.micronaut.core.io.Writable>, TypedMessageBodyReader<io.micronaut.core.io.Writable>, TypedMessageBodyWriter<io.micronaut.core.io.Writable>

@Singleton public final class WritableBodyWriter extends Object implements TypedMessageBodyHandler<io.micronaut.core.io.Writable>, ChunkedMessageBodyReader<io.micronaut.core.io.Writable>
Body writer for Writables.
Since:
4.0.0
  • Constructor Summary

    Constructors
    Constructor
    Description
    WritableBodyWriter(io.micronaut.runtime.ApplicationConfiguration applicationConfiguration)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    io.micronaut.core.type.Argument<io.micronaut.core.io.Writable>
     
    boolean
    true iff this closure can do a blocking read on the object it receives.
    io.micronaut.core.io.Writable
    read(io.micronaut.core.type.Argument<io.micronaut.core.io.Writable> type, MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, io.micronaut.core.io.buffer.ByteBuffer<?> byteBuffer)
    Reads an object from the given byte buffer.
    io.micronaut.core.io.Writable
    read(io.micronaut.core.type.Argument<io.micronaut.core.io.Writable> type, MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, InputStream inputStream)
    Reads an object from the given byte buffer.
    org.reactivestreams.Publisher<? extends io.micronaut.core.io.Writable>
    readChunked(io.micronaut.core.type.Argument<io.micronaut.core.io.Writable> type, MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, org.reactivestreams.Publisher<io.micronaut.core.io.buffer.ByteBuffer<?>> input)
     
    void
    writeTo(io.micronaut.core.type.Argument<io.micronaut.core.io.Writable> type, MediaType mediaType, io.micronaut.core.io.Writable object, io.micronaut.core.type.MutableHeaders outgoingHeaders, OutputStream outputStream)
    Writes an object to the given output stream.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.http.body.MessageBodyWriter

    createSpecific, writeTo

    Methods inherited from interface io.micronaut.http.body.TypedMessageBodyReader

    isReadable

    Methods inherited from interface io.micronaut.http.body.TypedMessageBodyWriter

    isWriteable
  • Constructor Details

    • WritableBodyWriter

      public WritableBodyWriter(io.micronaut.runtime.ApplicationConfiguration applicationConfiguration)
  • Method Details

    • getType

      public io.micronaut.core.type.Argument<io.micronaut.core.io.Writable> getType()
      Specified by:
      getType in interface TypedMessageBodyHandler<io.micronaut.core.io.Writable>
      Specified by:
      getType in interface TypedMessageBodyReader<io.micronaut.core.io.Writable>
      Specified by:
      getType in interface TypedMessageBodyWriter<io.micronaut.core.io.Writable>
      Returns:
      The body type.
    • isBlocking

      public boolean isBlocking()
      Description copied from interface: MessageBodyWriter
      true iff this closure can do a blocking read on the object it receives. For example, if this closure writes from an InputStream, that operation may be blocking and this method returns true.
      Note that even when this is false, MessageBodyWriter.writeTo(Argument, MediaType, Object, MutableHeaders, OutputStream) may still block because the OutputStream that is passed as the write destination may still block.
      Specified by:
      isBlocking in interface MessageBodyWriter<io.micronaut.core.io.Writable>
      Returns:
      Whether this writer may block
    • writeTo

      public void writeTo(io.micronaut.core.type.Argument<io.micronaut.core.io.Writable> type, MediaType mediaType, io.micronaut.core.io.Writable object, io.micronaut.core.type.MutableHeaders outgoingHeaders, OutputStream outputStream) throws CodecException
      Description copied from interface: MessageBodyWriter
      Writes an object to the given output stream.
      Specified by:
      writeTo in interface MessageBodyWriter<io.micronaut.core.io.Writable>
      Parameters:
      type - The type
      mediaType - The media type
      object - The object to write
      outgoingHeaders - The HTTP headers
      outputStream - The output stream
      Throws:
      CodecException - If an error occurs decoding
    • readChunked

      public org.reactivestreams.Publisher<? extends io.micronaut.core.io.Writable> readChunked(io.micronaut.core.type.Argument<io.micronaut.core.io.Writable> type, MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, org.reactivestreams.Publisher<io.micronaut.core.io.buffer.ByteBuffer<?>> input)
      Specified by:
      readChunked in interface ChunkedMessageBodyReader<io.micronaut.core.io.Writable>
    • read

      public io.micronaut.core.io.Writable read(io.micronaut.core.type.Argument<io.micronaut.core.io.Writable> type, MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, io.micronaut.core.io.buffer.ByteBuffer<?> byteBuffer) throws CodecException
      Description copied from interface: MessageBodyReader
      Reads an object from the given byte buffer.
      Specified by:
      read in interface MessageBodyReader<io.micronaut.core.io.Writable>
      Parameters:
      type - The type being decoded.
      mediaType - The media type, can be null
      httpHeaders - The HTTP headers
      byteBuffer - The byte buffer
      Returns:
      The read object or null
      Throws:
      CodecException - If an error occurs decoding
    • read

      public io.micronaut.core.io.Writable read(io.micronaut.core.type.Argument<io.micronaut.core.io.Writable> type, MediaType mediaType, io.micronaut.core.type.Headers httpHeaders, InputStream inputStream) throws CodecException
      Description copied from interface: MessageBodyReader
      Reads an object from the given byte buffer.
      Specified by:
      read in interface MessageBodyReader<io.micronaut.core.io.Writable>
      Parameters:
      type - The type being decoded.
      mediaType - The media type, can be null
      httpHeaders - The HTTP headers
      inputStream - The input stream
      Returns:
      The read object or null
      Throws:
      CodecException - If an error occurs decoding