Package org.restlet.engine.application
Class DecodeRepresentation
- java.lang.Object
-
- org.restlet.representation.Variant
-
- org.restlet.representation.RepresentationInfo
-
- org.restlet.representation.Representation
-
- org.restlet.util.WrapperRepresentation
-
- org.restlet.engine.application.DecodeRepresentation
-
public class DecodeRepresentation extends org.restlet.util.WrapperRepresentation
Representation that decodes a wrapped representation if its encoding is supported. If at least one encoding of the wrapped representation is not supported, then the wrapped representation is not decoded.- Author:
- Jerome Louvel
-
-
Constructor Summary
Constructors Constructor Description DecodeRepresentation(org.restlet.representation.Representation wrappedRepresentation)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getAvailableSize()
Returns the size effectively available.java.nio.channels.ReadableByteChannel
getChannel()
Returns a readable byte channel.java.util.List<org.restlet.data.Encoding>
getEncodings()
Returns the encodings applied to the entity.java.io.Reader
getReader()
Returns a characters reader with the representation's content.long
getSize()
Returns the size in bytes of the decoded representation if known, UNKNOWN_SIZE (-1) otherwise.java.io.InputStream
getStream()
Returns a stream with the representation's content.static java.util.List<org.restlet.data.Encoding>
getSupportedEncodings()
Returns the list of supported encodings.java.lang.String
getText()
Converts the representation to a string value.boolean
isDecoding()
Indicates if the decoding can happen.void
write(java.io.OutputStream outputStream)
Writes the representation to a byte stream.void
write(java.nio.channels.WritableByteChannel writableChannel)
Writes the representation to a byte channel.-
Methods inherited from class org.restlet.util.WrapperRepresentation
exhaust, getCharacterSet, getDigest, getDisposition, getExpirationDate, getLanguages, getLocationRef, getMediaType, getModificationDate, getRange, getRegistration, getTag, getWrappedRepresentation, isAvailable, isSelectable, isTransient, release, setAvailable, setCharacterSet, setDigest, setDisposition, setEncodings, setExpirationDate, setLanguages, setLocationRef, setLocationRef, setMediaType, setModificationDate, setRange, setSize, setTag, setTransient, write
-
Methods inherited from class org.restlet.representation.Representation
append, hasKnownSize, isEmpty, setListener
-
-
-
-
Method Detail
-
getSupportedEncodings
public static java.util.List<org.restlet.data.Encoding> getSupportedEncodings()
Returns the list of supported encodings.- Returns:
- The list of supported encodings.
-
getAvailableSize
public long getAvailableSize()
Description copied from class:org.restlet.representation.Representation
Returns the size effectively available. This returns the same value asRepresentation.getSize()
if no range is defined, otherwise it returns the size of the range usingRange.getSize()
.- Overrides:
getAvailableSize
in classorg.restlet.util.WrapperRepresentation
- Returns:
- The available size.
-
getChannel
public java.nio.channels.ReadableByteChannel getChannel() throws java.io.IOException
Returns a readable byte channel. If it is supported by a file a read-only instance of FileChannel is returned.- Overrides:
getChannel
in classorg.restlet.util.WrapperRepresentation
- Returns:
- A readable byte channel.
- Throws:
java.io.IOException
-
getEncodings
public java.util.List<org.restlet.data.Encoding> getEncodings()
Returns the encodings applied to the entity.- Overrides:
getEncodings
in classorg.restlet.util.WrapperRepresentation
- Returns:
- The encodings applied to the entity.
-
getReader
public java.io.Reader getReader() throws java.io.IOException
Description copied from class:org.restlet.representation.Representation
Returns a characters reader with the representation's content. This method is ensured to return a fresh reader for each invocation unless it is a transient representation, in which case null is returned. If the representation has no character set defined, the system's default one will be used.- Overrides:
getReader
in classorg.restlet.util.WrapperRepresentation
- Returns:
- A reader with the representation's content.
- Throws:
java.io.IOException
-
getSize
public long getSize()
Returns the size in bytes of the decoded representation if known, UNKNOWN_SIZE (-1) otherwise.- Overrides:
getSize
in classorg.restlet.util.WrapperRepresentation
- Returns:
- The size in bytes if known, UNKNOWN_SIZE (-1) otherwise.
- See Also:
Representation.isEmpty()
-
getStream
public java.io.InputStream getStream() throws java.io.IOException
Returns a stream with the representation's content.- Overrides:
getStream
in classorg.restlet.util.WrapperRepresentation
- Returns:
- A stream with the representation's content.
- Throws:
java.io.IOException
-
getText
public java.lang.String getText() throws java.io.IOException
Converts the representation to a string value. Be careful when using this method as the conversion of large content to a string fully stored in memory can result in OutOfMemoryErrors being thrown.- Overrides:
getText
in classorg.restlet.util.WrapperRepresentation
- Returns:
- The representation as a string value.
- Throws:
java.io.IOException
-
isDecoding
public boolean isDecoding()
Indicates if the decoding can happen.- Returns:
- True if the decoding can happen.
-
write
public void write(java.io.OutputStream outputStream) throws java.io.IOException
Writes the representation to a byte stream.- Overrides:
write
in classorg.restlet.util.WrapperRepresentation
- Parameters:
outputStream
- The output stream.- Throws:
java.io.IOException
-
write
public void write(java.nio.channels.WritableByteChannel writableChannel) throws java.io.IOException
Writes the representation to a byte channel.- Overrides:
write
in classorg.restlet.util.WrapperRepresentation
- Parameters:
writableChannel
- A writable byte channel.- Throws:
java.io.IOException
-
-