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 WrapperRepresentation
Representation that exposes only a range of the content of a wrapped representation.
-
-
Field Summary
Fields Modifier and Type Field Description private RangerangeThe range specific to this wrapper.-
Fields inherited from class org.restlet.representation.Representation
UNKNOWN_SIZE
-
-
Constructor Summary
Constructors Constructor Description RangeRepresentation(Representation wrappedRepresentation)Constructor.RangeRepresentation(Representation wrappedRepresentation, 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.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(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
-
Methods inherited from class org.restlet.representation.Variant
createClientInfo, equals, hashCode, includes, isCompatible, toString
-
-
-
-
Field Detail
-
range
private volatile Range range
The range specific to this wrapper.
-
-
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: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 classWrapperRepresentation- Returns:
- The available size.
-
getChannel
public java.nio.channels.ReadableByteChannel getChannel() throws java.io.IOExceptionDescription copied from class: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 classWrapperRepresentation- Returns:
- A channel with the representation's content.
- Throws:
java.io.IOException
-
getRange
public Range getRange()
Returns the range specific to this wrapper. The wrapped representation must not have a range set itself.- Overrides:
getRangein classWrapperRepresentation- Returns:
- The range specific to this wrapper.
-
getReader
public java.io.Reader getReader() throws java.io.IOExceptionDescription copied from class: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 classWrapperRepresentation- 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: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 classWrapperRepresentation- 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: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 classWrapperRepresentation- Returns:
- The representation as a string value.
- Throws:
java.io.IOException
-
setRange
public void setRange(Range range)
Sets the range specific to this wrapper. This will not affect the wrapped representation.- Overrides:
setRangein classWrapperRepresentation- Parameters:
range- The range specific to this wrapper.
-
write
public void write(java.io.Writer writer) throws java.io.IOExceptionDescription copied from class: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 classWrapperRepresentation- Parameters:
writer- The characters writer.- Throws:
java.io.IOException
-
write
public void write(java.io.OutputStream outputStream) throws java.io.IOExceptionDescription copied from class: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 classWrapperRepresentation- 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: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 classWrapperRepresentation- Parameters:
writableChannel- A writable byte channel.- Throws:
java.io.IOException
-
-