Package org.restlet.representation
Class ReadableRepresentation
- java.lang.Object
-
- org.restlet.representation.Variant
-
- org.restlet.representation.RepresentationInfo
-
- org.restlet.representation.Representation
-
- org.restlet.representation.ChannelRepresentation
-
- org.restlet.representation.ReadableRepresentation
-
public class ReadableRepresentation extends ChannelRepresentation
Transient representation based on a readable NIO byte channel.- Author:
- Jerome Louvel
-
-
Field Summary
-
Fields inherited from class org.restlet.representation.Representation
UNKNOWN_SIZE
-
-
Constructor Summary
Constructors Constructor Description ReadableRepresentation(java.nio.channels.ReadableByteChannel readableChannel, MediaType mediaType)
Constructor.ReadableRepresentation(java.nio.channels.ReadableByteChannel channel, MediaType mediaType, long expectedSize)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.void
setChannel(java.nio.channels.ReadableByteChannel channel)
Sets the readable channel.void
write(java.nio.channels.WritableByteChannel writableChannel)
Writes the representation to a byte channel.-
Methods inherited from class org.restlet.representation.ChannelRepresentation
getReader, getStream, write, write
-
Methods inherited from class org.restlet.representation.Representation
append, exhaust, getAvailableSize, getDigest, getDisposition, getExpirationDate, getRange, getSize, getText, hasKnownSize, isAvailable, isEmpty, isTransient, release, setAvailable, setDigest, setDisposition, setExpirationDate, setRange, setSize, setTransient
-
Methods inherited from class org.restlet.representation.RepresentationInfo
getModificationDate, getTag, setModificationDate, setTag
-
Methods inherited from class org.restlet.representation.Variant
createClientInfo, equals, getCharacterSet, getEncodings, getLanguages, getLocationRef, getMediaType, hashCode, includes, isCompatible, setCharacterSet, setEncodings, setLanguages, setLocationRef, setLocationRef, setMediaType, toString
-
-
-
-
Constructor Detail
-
ReadableRepresentation
public ReadableRepresentation(java.nio.channels.ReadableByteChannel readableChannel, MediaType mediaType)
Constructor.- Parameters:
readableChannel
- The representation's channel.mediaType
- The representation's media type.
-
ReadableRepresentation
public ReadableRepresentation(java.nio.channels.ReadableByteChannel channel, MediaType mediaType, long expectedSize)
Constructor.- Parameters:
channel
- The representation's channel.mediaType
- The representation's media type.expectedSize
- The expected stream size.
-
-
Method Detail
-
getChannel
public java.nio.channels.ReadableByteChannel getChannel() throws java.io.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.- Specified by:
getChannel
in classRepresentation
- Returns:
- A channel with the representation's content.
- Throws:
java.io.IOException
-
setChannel
public void setChannel(java.nio.channels.ReadableByteChannel channel)
Sets the readable channel.- Parameters:
channel
- The readable channel.
-
write
public void write(java.nio.channels.WritableByteChannel writableChannel) throws java.io.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.- Specified by:
write
in classRepresentation
- Parameters:
writableChannel
- A writable byte channel.- Throws:
java.io.IOException
-
-