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 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

### Field Summary

### Fields inherited from class org.restlet.representation.Representation

`UNKNOWN_SIZE`

### Constructor Summary

Constructors
Constructor and Description
`DecodeRepresentation(Representation wrappedRepresentation)` Constructor.

### Method Summary

Methods
`boolean` `canDecode()` Deprecated. Use `isDecoding()` instead.
`java.nio.channels.ReadableByteChannel` `getChannel()` Returns a readable byte channel.
`java.util.List<Encoding>` `getEncodings()` Returns the encodings applied to the entity.
`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<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

`checkDigest, checkDigest, computeDigest, exhaust, getAvailableSize, getCharacterSet, getDigest, getDisposition, getDownloadName, getExpirationDate, getIdentifier, getLanguages, getLocationRef, getMediaType, getModificationDate, getRange, getReader, getTag, getWrappedRepresentation, isAvailable, isDownloadable, isTransient, release, setAvailable, setCharacterSet, setDigest, setDisposition, setDownloadable, setDownloadName, setEncodings, setExpirationDate, setIdentifier, setIdentifier, setLanguages, setLocationRef, setLocationRef, setMediaType, setModificationDate, setRange, setSize, setTag, setTransient, write`

### Methods inherited from class org.restlet.representation.Representation

`createEmpty`

### Methods inherited from class org.restlet.representation.Variant

`createClientInfo, equals, includes, isCompatible, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### DecodeRepresentation

    public DecodeRepresentation(Representation wrappedRepresentation)

Constructor.

Parameters:
  `wrappedRepresentation` - The wrapped representation.

### Method Detail

#### getSupportedEncodings

    public static java.util.List<Encoding> getSupportedEncodings()

Returns the list of supported encodings.

Returns:
  The list of supported encodings.

#### canDecode

    @Deprecated
    public boolean canDecode()

Deprecated. Use `isDecoding()` instead.
Indicates if the decoding can happen.

Returns:
  True if the decoding can happen.

#### isDecoding

    public boolean isDecoding()

Indicates if the decoding can happen.

Returns:
  True if the decoding can happen.

#### 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 class `WrapperRepresentation`
Returns:
  A readable byte channel.
Throws:
  `java.io.IOException`

#### getEncodings

    public java.util.List<Encoding> getEncodings()

Returns the encodings applied to the entity.

Overrides:
  `getEncodings` in class `WrapperRepresentation`
Returns:
  The encodings applied to the entity.

#### getSize

    public long getSize()

Returns the size in bytes of the decoded representation if known, UNKNOWN_SIZE (-1) otherwise.

Overrides:
  `getSize` in class `WrapperRepresentation`
Returns:
  The size in bytes if known, UNKNOWN_SIZE (-1) otherwise.

#### getStream

    public java.io.InputStream getStream()
                                  throws java.io.IOException

Returns a stream with the representation's content.

Overrides:
  `getStream` in class `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 class `WrapperRepresentation`
Returns:
  The representation as a string value.
Throws:
  `java.io.IOException`

#### write

    public void write(java.io.OutputStream outputStream)
               throws java.io.IOException

Writes the representation to a byte stream.

Overrides:
  `write` in class `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 class `WrapperRepresentation`
Parameters:
  `writableChannel` - A writable byte channel.
Throws:
  `java.io.IOException`