org.restlet.representation
Class OutputRepresentation

java.lang.Object
  extended by org.restlet.representation.Variant
      extended by org.restlet.representation.RepresentationInfo
          extended by org.restlet.representation.Representation
              extended by org.restlet.representation.StreamRepresentation
                  extended by org.restlet.representation.OutputRepresentation
Direct Known Subclasses:
ObjectRepresentation

public abstract class OutputRepresentation
extends StreamRepresentation

Representation based on a BIO output stream. 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(OutputStream) method. This method will later be called back by the connectors when the actual representation's content is needed.

Author:
Jerome Louvel

Field Summary
 
Fields inherited from class org.restlet.representation.Representation
UNKNOWN_SIZE
 
Constructor Summary
OutputRepresentation(MediaType mediaType)
          Constructor.
OutputRepresentation(MediaType mediaType, long expectedSize)
          Constructor.
 
Method Summary
 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.
 InputStream getStream()
          Returns a stream with the representation's content.
 
Methods inherited from class org.restlet.representation.StreamRepresentation
getReader, write, write
 
Methods inherited from class org.restlet.representation.Representation
append, exhaust, getAvailableSize, getDigest, getDisposition, getExpirationDate, getRange, getRegistration, getSize, getText, hasKnownSize, isAvailable, isEmpty, isSelectable, isTransient, release, setAvailable, setDigest, setDisposition, setExpirationDate, setListener, setRange, setSize, setTransient, write
 
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, includes, isCompatible, setCharacterSet, setEncodings, setLanguages, setLocationRef, setLocationRef, setMediaType, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OutputRepresentation

public OutputRepresentation(MediaType mediaType)
Constructor.

Parameters:
mediaType - The representation's mediaType.

OutputRepresentation

public OutputRepresentation(MediaType mediaType,
                            long expectedSize)
Constructor.

Parameters:
mediaType - The representation's mediaType.
expectedSize - The expected input stream size.
Method Detail

getChannel

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.

Overrides:
getChannel in class StreamRepresentation
Returns:
A channel with the representation's content.
Throws:
IOException

getStream

public InputStream getStream()
                      throws IOException
Returns a stream with the representation's content. Internally, it uses a writer thread and a pipe stream.

Specified by:
getStream in class Representation
Returns:
A stream with the representation's content.
Throws:
IOException


Copyright © 2005-2013 Restlet.