Class RangeRepresentation


  • public class RangeRepresentation
    extends org.restlet.util.WrapperRepresentation
    Representation that exposes only a range of the content of a wrapped representation.
    Author:
    Jerome Louvel
    • Field Summary

      • Fields inherited from class org.restlet.representation.Representation

        UNKNOWN_SIZE
    • Constructor Summary

      Constructors 
      Constructor Description
      RangeRepresentation​(org.restlet.representation.Representation wrappedRepresentation)
      Constructor.
      RangeRepresentation​(org.restlet.representation.Representation wrappedRepresentation, org.restlet.data.Range range)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      long getAvailableSize()
      Returns the size effectively available.
      java.nio.channels.ReadableByteChannel getChannel()
      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.
      org.restlet.data.Range getRange()
      Returns the range specific to this wrapper.
      java.io.Reader getReader()
      Returns a characters reader with the representation's content.
      java.io.InputStream getStream()
      Returns a stream with the representation's content.
      java.lang.String getText()
      Converts the representation to a string value.
      void setRange​(org.restlet.data.Range range)
      Sets the range specific to this wrapper.
      void write​(java.io.OutputStream outputStream)
      Writes the representation to a byte stream.
      void write​(java.io.Writer writer)
      Writes the representation to a characters writer.
      void write​(java.nio.channels.WritableByteChannel writableChannel)
      Writes the representation to a byte channel.
      • Methods inherited from class org.restlet.util.WrapperRepresentation

        exhaust, getCharacterSet, getDigest, getDisposition, getEncodings, getExpirationDate, getLanguages, getLocationRef, getMediaType, getModificationDate, getRegistration, getSize, getTag, getWrappedRepresentation, isAvailable, isSelectable, isTransient, release, setAvailable, setCharacterSet, setDigest, setDisposition, setEncodings, setExpirationDate, setLanguages, setLocationRef, setLocationRef, setMediaType, setModificationDate, setSize, setTag, setTransient
      • Methods inherited from class org.restlet.representation.Representation

        append, hasKnownSize, isEmpty, setListener
      • Methods inherited from class org.restlet.representation.Variant

        createClientInfo, equals, hashCode, includes, isCompatible, toString
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • RangeRepresentation

        public RangeRepresentation​(org.restlet.representation.Representation wrappedRepresentation)
        Constructor.
        Parameters:
        wrappedRepresentation - The wrapped representation with a complete content.
      • RangeRepresentation

        public RangeRepresentation​(org.restlet.representation.Representation wrappedRepresentation,
                                   org.restlet.data.Range range)
        Constructor.
        Parameters:
        wrappedRepresentation - The wrapped representation with a complete content.
        range - The range to expose.
    • Method Detail

      • getAvailableSize

        public long getAvailableSize()
        Description copied from class: org.restlet.representation.Representation
        Returns the size effectively available. This returns the same value as Representation.getSize() if no range is defined, otherwise it returns the size of the range using Range.getSize().
        Overrides:
        getAvailableSize in class org.restlet.util.WrapperRepresentation
        Returns:
        The available size.
      • getChannel

        public java.nio.channels.ReadableByteChannel getChannel()
                                                         throws java.io.IOException
        Description copied from class: org.restlet.representation.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 org.restlet.util.WrapperRepresentation
        Returns:
        A channel with the representation's content.
        Throws:
        java.io.IOException
      • getRange

        public org.restlet.data.Range getRange()
        Returns the range specific to this wrapper. The wrapped representation must not have a range set itself.
        Overrides:
        getRange in class org.restlet.util.WrapperRepresentation
        Returns:
        The range specific to this wrapper.
      • getReader

        public java.io.Reader getReader()
                                 throws java.io.IOException
        Description copied from class: org.restlet.representation.Representation
        Returns a characters reader with the representation's content. This method is ensured to return a fresh reader for each invocation unless it is a transient representation, in which case null is returned. If the representation has no character set defined, the system's default one will be used.
        Overrides:
        getReader in class org.restlet.util.WrapperRepresentation
        Returns:
        A reader with the representation's content.
        Throws:
        java.io.IOException
      • getStream

        public java.io.InputStream getStream()
                                      throws java.io.IOException
        Description copied from class: org.restlet.representation.Representation
        Returns a stream with the representation's content. This method is ensured to return a fresh stream for each invocation unless it is a transient representation, in which case null is returned.
        Overrides:
        getStream in class org.restlet.util.WrapperRepresentation
        Returns:
        A stream with the representation's content.
        Throws:
        java.io.IOException
      • getText

        public java.lang.String getText()
                                 throws java.io.IOException
        Description copied from class: org.restlet.representation.Representation
        Converts the representation to a string value. Be careful when using this method as the conversion of large content to a string fully stored in memory can result in OutOfMemoryErrors being thrown.
        Overrides:
        getText in class org.restlet.util.WrapperRepresentation
        Returns:
        The representation as a string value.
        Throws:
        java.io.IOException
      • setRange

        public void setRange​(org.restlet.data.Range range)
        Sets the range specific to this wrapper. This will not affect the wrapped representation.
        Overrides:
        setRange in class org.restlet.util.WrapperRepresentation
        Parameters:
        range - The range specific to this wrapper.
      • write

        public void write​(java.io.Writer writer)
                   throws java.io.IOException
        Description copied from class: org.restlet.representation.Representation
        Writes the representation to a characters writer. 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.

        Note that the class implementing this method shouldn't flush or close the given Writer after writing to it as this will be handled by the Restlet connectors automatically.
        Overrides:
        write in class org.restlet.util.WrapperRepresentation
        Parameters:
        writer - The characters writer.
        Throws:
        java.io.IOException
      • write

        public void write​(java.io.OutputStream outputStream)
                   throws java.io.IOException
        Description copied from class: org.restlet.representation.Representation
        Writes the representation to a byte stream. 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.

        Note that the class implementing this method shouldn't flush or close the given OutputStream after writing to it as this will be handled by the Restlet connectors automatically.
        Overrides:
        write in class org.restlet.util.WrapperRepresentation
        Parameters:
        outputStream - The output stream.
        Throws:
        java.io.IOException
      • write

        public void write​(java.nio.channels.WritableByteChannel writableChannel)
                   throws java.io.IOException
        Description copied from class: org.restlet.representation.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.
        Overrides:
        write in class org.restlet.util.WrapperRepresentation
        Parameters:
        writableChannel - A writable byte channel.
        Throws:
        java.io.IOException