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.WrapperRepresentationRepresentation 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 longgetAvailableSize()Returns the size effectively available.java.nio.channels.ReadableByteChannelgetChannel()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.RangegetRange()Returns the range specific to this wrapper.java.io.ReadergetReader()Returns a characters reader with the representation's content.java.io.InputStreamgetStream()Returns a stream with the representation's content.java.lang.StringgetText()Converts the representation to a string value.voidsetRange(org.restlet.data.Range range)Sets the range specific to this wrapper.voidwrite(java.io.OutputStream outputStream)Writes the representation to a byte stream.voidwrite(java.io.Writer writer)Writes the representation to a characters writer.voidwrite(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.RepresentationReturns 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:
getAvailableSizein classorg.restlet.util.WrapperRepresentation- Returns:
- The available size.
-
getChannel
public java.nio.channels.ReadableByteChannel getChannel() throws java.io.IOExceptionDescription copied from class:org.restlet.representation.RepresentationReturns 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:
getChannelin 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:
getRangein classorg.restlet.util.WrapperRepresentation- Returns:
- The range specific to this wrapper.
-
getReader
public java.io.Reader getReader() throws java.io.IOExceptionDescription copied from class:org.restlet.representation.RepresentationReturns 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:
getReaderin 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.IOExceptionDescription copied from class:org.restlet.representation.RepresentationReturns 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:
getStreamin 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.IOExceptionDescription copied from class:org.restlet.representation.RepresentationConverts 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:
getTextin 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:
setRangein classorg.restlet.util.WrapperRepresentation- Parameters:
range- The range specific to this wrapper.
-
write
public void write(java.io.Writer writer) throws java.io.IOExceptionDescription copied from class:org.restlet.representation.RepresentationWrites 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 givenWriterafter writing to it as this will be handled by the Restlet connectors automatically.- Overrides:
writein classorg.restlet.util.WrapperRepresentation- Parameters:
writer- The characters writer.- Throws:
java.io.IOException
-
write
public void write(java.io.OutputStream outputStream) throws java.io.IOExceptionDescription copied from class:org.restlet.representation.RepresentationWrites 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 givenOutputStreamafter writing to it as this will be handled by the Restlet connectors automatically.- Overrides:
writein 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.IOExceptionDescription copied from class:org.restlet.representation.RepresentationWrites 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:
writein classorg.restlet.util.WrapperRepresentation- Parameters:
writableChannel- A writable byte channel.- Throws:
java.io.IOException
-
-