Package org.restlet.representation
Class OutputRepresentation
- java.lang.Object
-
- org.restlet.representation.Variant
-
- org.restlet.representation.RepresentationInfo
-
- org.restlet.representation.Representation
-
- org.restlet.representation.StreamRepresentation
-
- 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
Constructors Constructor Description OutputRepresentation(MediaType mediaType)
Constructor.OutputRepresentation(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.java.io.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, hashCode, includes, isCompatible, setCharacterSet, setEncodings, setLanguages, setLocationRef, setLocationRef, setMediaType, toString
-
-
-
-
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 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.- Overrides:
getChannel
in classStreamRepresentation
- Returns:
- A channel with the representation's content.
- Throws:
java.io.IOException
-
getStream
public java.io.InputStream getStream() throws java.io.IOException
Returns a stream with the representation's content. Internally, it uses a writer thread and a pipe stream.- Specified by:
getStream
in classRepresentation
- Returns:
- A stream with the representation's content.
- Throws:
java.io.IOException
-
-