Class RangeRepresentation


public class RangeRepresentation extends WrapperRepresentation
Representation that exposes only a range of the content of a wrapped representation.
Author:
Jerome Louvel
  • Constructor Details

    • RangeRepresentation

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

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

    • getAvailableSize

      public long getAvailableSize()
      Description copied from class: 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 WrapperRepresentation
      Returns:
      The available size.
    • getRange

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

      public Reader getReader() throws IOException
      Description copied from class: Representation
      Returns a character 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 WrapperRepresentation
      Returns:
      A reader with the representation's content.
      Throws:
      IOException
    • getStream

      public InputStream getStream() throws IOException
      Description copied from class: 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 WrapperRepresentation
      Returns:
      A stream with the representation's content.
      Throws:
      IOException
    • getText

      public String getText() throws IOException
      Description copied from class: 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 WrapperRepresentation
      Returns:
      The representation as a string value.
      Throws:
      IOException
    • setRange

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

      public void write(Writer writer) throws IOException
      Description copied from class: 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 WrapperRepresentation
      Parameters:
      writer - The characters writer.
      Throws:
      IOException
    • write

      public void write(OutputStream outputStream) throws IOException
      Description copied from class: 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 WrapperRepresentation
      Parameters:
      outputStream - The output stream.
      Throws:
      IOException