Class OutputRepresentation

  • Direct Known Subclasses:
    ObjectRepresentation

    public abstract class OutputRepresentation
    extends StreamRepresentation
    Representation based on a BIO output stream. This class is a good basis to write your own representations, especially for the dynamic and large ones.

    For this you just need to create a subclass and override the abstract Representation.write(OutputStream) method. This method will later be called back by the connectors when the actual representation's content is needed.
    Author:
    Jerome Louvel
    • Constructor Detail

      • OutputRepresentation

        public OutputRepresentation​(MediaType mediaType)
        Constructor.
        Parameters:
        mediaType - The representation's mediaType.
      • OutputRepresentation

        public OutputRepresentation​(MediaType mediaType,
                                    long expectedSize)
        Constructor.
        Parameters:
        mediaType - The representation's mediaType.
        expectedSize - The expected input 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.
        Overrides:
        getChannel in class StreamRepresentation
        Returns:
        A channel with the representation's content.
        Throws:
        java.io.IOException
      • getStream

        public java.io.InputStream getStream()
                                      throws java.io.IOException
        Returns a stream with the representation's content. Internally, it uses a writer thread and a pipe stream.
        Specified by:
        getStream in class Representation
        Returns:
        A stream with the representation's content.
        Throws:
        java.io.IOException