org.restlet.representation

## Class InputRepresentation

- java.lang.Object
- - org.restlet.representation.Variant
  - - org.restlet.representation.RepresentationInfo
    - - org.restlet.representation.Representation
      - - org.restlet.representation.StreamRepresentation
        - - org.restlet.representation.InputRepresentation

    public class InputRepresentation
    extends StreamRepresentation

Transient representation based on a BIO input stream.

Author:
  Jerome Louvel

### Field Summary

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

`UNKNOWN_SIZE`

### Constructor Summary

Constructors
Constructor and Description
`InputRepresentation(java.io.InputStream inputStream)` Constructor.
`InputRepresentation(java.io.InputStream inputStream, MediaType mediaType)` Constructor.
`InputRepresentation(java.io.InputStream inputStream, MediaType mediaType, long expectedSize)` Constructor.

### Method Summary

Methods
`java.io.InputStream` `getStream()` Returns a stream with the representation's content.
`java.lang.String` `getText()` Note that this method relies on `getStream()`.
`void` `release()` Closes and releases the input stream.
`void` `setStream(java.io.InputStream stream)` Sets the input stream to use.
`void` `write(java.io.OutputStream outputStream)` Writes the representation to a byte stream.

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

`getChannel, getReader, write, write`

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

`checkDigest, checkDigest, computeDigest, createEmpty, exhaust, getAvailableSize, getDigest, getDisposition, getDownloadName, getExpirationDate, getRange, getSize, isAvailable, isDownloadable, isTransient, setAvailable, setDigest, setDisposition, setDownloadable, setDownloadName, setExpirationDate, 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, getIdentifier, getLanguages, getLocationRef, getMediaType, includes, isCompatible, setCharacterSet, setEncodings, setIdentifier, setIdentifier, setLanguages, setLocationRef, setLocationRef, setMediaType, toString`

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

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

### Constructor Detail

#### InputRepresentation

    public InputRepresentation(java.io.InputStream inputStream)

Constructor.

Parameters:
  `inputStream` - The representation's stream.

#### InputRepresentation

    public InputRepresentation(java.io.InputStream inputStream,
                       MediaType mediaType)

Constructor.

Parameters:
  `inputStream` - The representation's stream.
  `mediaType` - The representation's media type.

#### InputRepresentation

    public InputRepresentation(java.io.InputStream inputStream,
                       MediaType mediaType,
                       long expectedSize)

Constructor.

Parameters:
  `inputStream` - The representation's stream.
  `mediaType` - The representation's media type.
  `expectedSize` - The expected input stream size.

### Method Detail

#### getStream

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

Description copied from class: `Representation`
Returns a stream with the representation's content. This method is ensured to return a fresh stream for each invocation unless it is a transient representation, in which case null is returned.

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

#### getText

    public java.lang.String getText()
                             throws java.io.IOException

Note that this method relies on `getStream()`. This stream is closed once fully read.

Overrides:
  `getText` in class `Representation`
Returns:
  The representation as a string value.
Throws:
  `java.io.IOException`

#### release

    public void release()

Closes and releases the input stream.

Overrides:
  `release` in class `Representation`

#### setStream

    public void setStream(java.io.InputStream stream)

Sets the input stream to use.

Parameters:
  `stream` - The input stream to use.

#### write

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

Description copied from class: `Representation`
Writes the representation to a byte stream. 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.
Note that the class implementing this method shouldn't flush or close the given `OutputStream` after writing to it as this will be handled by the Restlet connectors automatically.

Specified by:
  `write` in class `Representation`
Parameters:
  `outputStream` - The output stream.
Throws:
  `java.io.IOException`