Class WritableRepresentation

  extended by org.restlet.representation.Variant
      extended by org.restlet.representation.RepresentationInfo
          extended by org.restlet.representation.Representation
              extended by org.restlet.representation.ChannelRepresentation
                  extended by org.restlet.representation.WritableRepresentation

public abstract class WritableRepresentation
extends ChannelRepresentation

Representation based on a writable NIO byte channel. This class is a good basis to write your own representations, especially for the dynamic and large ones.

For this you just need to create a subclass and override the abstract Representation.write(WritableByteChannel) method. This method will later be called back by the connectors when the actual representation's content is needed.

Jerome Louvel

Field Summary
Fields inherited from class org.restlet.representation.Representation
Constructor Summary
WritableRepresentation(MediaType mediaType)
Method Summary
 ReadableByteChannel getChannel()
          Returns a channel with the representation's content.
 void release()
          Calls parent's implementation.
abstract  void write(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
checkDigest, checkDigest, computeDigest, createEmpty, exhaust, getAvailableSize, getDigest, getDisposition, getDownloadName, getExpirationDate, getRange, getSize, getText, isAvailable, isDownloadable, isTransient, setAvailable, setDigest, setDisposition, setDownloadable, setDownloadName, 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, getIdentifier, getLanguages, getLocationRef, getMediaType, includes, isCompatible, setCharacterSet, setEncodings, setIdentifier, setIdentifier, setLanguages, setLocationRef, setLocationRef, setMediaType, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public WritableRepresentation(MediaType mediaType)

mediaType - The representation's media type.
Method Detail


public ReadableByteChannel getChannel()
                               throws 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
A channel with the representation's content.


public void release()
Calls parent's implementation.

release in class Representation


public abstract void write(WritableByteChannel writableChannel)
                    throws 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
writableChannel - A writable byte channel.

Copyright © 2005-2013 Restlet S.A.S..