Class ReadableRepresentation


  • public class ReadableRepresentation
    extends ChannelRepresentation
    Transient representation based on a readable NIO byte channel.
    Author:
    Jerome Louvel
    • Constructor Detail

      • ReadableRepresentation

        public ReadableRepresentation​(java.nio.channels.ReadableByteChannel readableChannel,
                                      MediaType mediaType)
        Constructor.
        Parameters:
        readableChannel - The representation's channel.
        mediaType - The representation's media type.
      • ReadableRepresentation

        public ReadableRepresentation​(java.nio.channels.ReadableByteChannel channel,
                                      MediaType mediaType,
                                      long expectedSize)
        Constructor.
        Parameters:
        channel - The representation's channel.
        mediaType - The representation's media type.
        expectedSize - The expected stream size.
    • Method Detail

      • getChannel

        public java.nio.channels.ReadableByteChannel getChannel()
                                                         throws java.io.IOException
        Description copied from class: Representation
        Returns a channel with the representation's content.
        If it is supported by a file, a read-only instance of FileChannel is returned.
        This method is ensured to return a fresh channel for each invocation unless it is a transient representation, in which case null is returned.
        Specified by:
        getChannel in class Representation
        Returns:
        A channel with the representation's content.
        Throws:
        java.io.IOException
      • setChannel

        public void setChannel​(java.nio.channels.ReadableByteChannel channel)
        Sets the readable channel.
        Parameters:
        channel - The readable channel.
      • write

        public void write​(java.nio.channels.WritableByteChannel writableChannel)
                   throws java.io.IOException
        Description copied from class: Representation
        Writes the representation to a byte channel. This method is ensured to write the full content for each invocation unless it is a transient representation, in which case an exception is thrown.
        Specified by:
        write in class Representation
        Parameters:
        writableChannel - A writable byte channel.
        Throws:
        java.io.IOException