Package org.restlet.engine.application
Class RangeRepresentation
- java.lang.Object
-
- org.restlet.representation.Variant
-
- org.restlet.representation.RepresentationInfo
-
- org.restlet.representation.Representation
-
- org.restlet.util.WrapperRepresentation
-
- org.restlet.engine.application.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
-
-
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
-
-
-
-
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 asRepresentation.getSize()
if no range is defined, otherwise it returns the size of the range usingRange.getSize()
.- Overrides:
getAvailableSize
in classorg.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 classorg.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 classorg.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 classorg.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 classorg.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 classorg.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 classorg.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 givenWriter
after writing to it as this will be handled by the Restlet connectors automatically.- Overrides:
write
in classorg.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 givenOutputStream
after writing to it as this will be handled by the Restlet connectors automatically.- Overrides:
write
in classorg.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 classorg.restlet.util.WrapperRepresentation
- Parameters:
writableChannel
- A writable byte channel.- Throws:
java.io.IOException
-
-