Package org.restlet.representation
Class WritableRepresentation
- java.lang.Object
-
- org.restlet.representation.Variant
-
- org.restlet.representation.RepresentationInfo
-
- org.restlet.representation.Representation
-
- org.restlet.representation.ChannelRepresentation
-
- 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.- Author:
- Jerome Louvel
-
-
Field Summary
-
Fields inherited from class org.restlet.representation.Representation
UNKNOWN_SIZE
-
-
Constructor Summary
Constructors Constructor Description WritableRepresentation(MediaType mediaType)
Constructor.
-
Method Summary
All Methods Instance Methods Abstract 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.abstract 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, getRegistration, getSize, getText, hasKnownSize, isAvailable, isEmpty, isSelectable, isTransient, release, setAvailable, setDigest, setDisposition, setExpirationDate, setListener, 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
-
WritableRepresentation
public WritableRepresentation(MediaType mediaType)
Constructor.- Parameters:
mediaType
- The representation's media type.
-
-
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
-
write
public abstract 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
-
-