org.restlet.engine.application
Class RangeRepresentation

java.lang.Object
  extended by org.restlet.representation.Variant
      extended by org.restlet.representation.RepresentationInfo
          extended by org.restlet.representation.Representation
              extended by org.restlet.util.WrapperRepresentation
                  extended by org.restlet.engine.application.RangeRepresentation

public class RangeRepresentation
extends 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
RangeRepresentation(Representation wrappedRepresentation)
          Constructor.
RangeRepresentation(Representation wrappedRepresentation, Range range)
          Constructor.
 
Method Summary
 long getAvailableSize()
          Returns the size effectively available.
 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.
 Range getRange()
          Returns the range specific to this wrapper.
 Reader getReader()
          Returns a characters reader with the representation's content.
 InputStream getStream()
          Returns a stream with the representation's content.
 String getText()
          Converts the representation to a string value.
 void setRange(Range range)
          Sets the range specific to this wrapper.
 void write(OutputStream outputStream)
          Writes the representation to a byte stream.
 void write(WritableByteChannel writableChannel)
          Writes the representation to a byte channel.
 void write(Writer writer)
          Writes the representation to a characters writer.
 
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, includes, isCompatible, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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 Detail

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.

getChannel

public ReadableByteChannel getChannel()
                               throws 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 WrapperRepresentation
Returns:
A channel with the representation's content.
Throws:
IOException

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 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 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

write

public void write(WritableByteChannel writableChannel)
           throws 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.

Overrides:
write in class WrapperRepresentation
Parameters:
writableChannel - A writable byte channel.
Throws:
IOException


Copyright © 2005-2014 Restlet.