org.restlet.resource
Class ReadableRepresentation

java.lang.Object
  extended by org.restlet.resource.Variant
      extended by org.restlet.resource.Representation
          extended by org.restlet.resource.ChannelRepresentation
              extended by org.restlet.resource.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.resource.Representation
UNKNOWN_SIZE
 
Constructor Summary
ReadableRepresentation(java.nio.channels.ReadableByteChannel readableChannel, MediaType mediaType)
          Constructor.
ReadableRepresentation(java.nio.channels.ReadableByteChannel channel, MediaType mediaType, long expectedSize)
          Constructor.
 
Method Summary
 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 release()
          Closes and releases the readable channel.
 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.resource.ChannelRepresentation
getReader, getStream, write, write
 
Methods inherited from class org.restlet.resource.Representation
checkDigest, checkDigest, computeDigest, createEmpty, exhaust, getAvailableSize, getDigest, getDownloadName, getExpirationDate, getModificationDate, getRange, getSize, getTag, getText, isAvailable, isDownloadable, isTransient, setAvailable, setDigest, setDownloadable, setDownloadName, setExpirationDate, setModificationDate, setRange, setSize, setTag, setTransient
 
Methods inherited from class org.restlet.resource.Variant
getCharacterSet, getEncodings, getIdentifier, getLanguages, getMediaType, setCharacterSet, setEncodings, setIdentifier, setIdentifier, setLanguages, setMediaType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 class Representation
Returns:
A channel with the representation's content.
Throws:
java.io.IOException

release

public void release()
Closes and releases the readable channel.

Overrides:
release in class Representation

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 class Representation
Parameters:
writableChannel - A writable byte channel.
Throws:
java.io.IOException


Copyright © 2005-2008 Noelios Technologies.