## org.apache.http.entity
Class SerializableEntity

    java.lang.Object
      org.apache.http.entity.AbstractHttpEntity
          org.apache.http.entity.SerializableEntity

All Implemented Interfaces:
  HttpEntity

    @NotThreadSafe
    public class SerializableEntity

extends AbstractHttpEntity

A streamed entity that obtains its content from a `Serializable`. The content obtained from the `Serializable` instance can optionally be buffered in a byte array in order to make the entity self-contained and repeatable.

Since:
  4.0

Field Summary

Fields inherited from class org.apache.http.entity.AbstractHttpEntity
`chunked, contentEncoding, contentType`

Constructor Summary
`SerializableEntity(Serializable ser, boolean bufferize)` Creates new instance of this class.

Method Summary
`InputStream` `getContent()` Returns a content stream of the entity.
`long` `getContentLength()` Tells the length of the content, if known.
`boolean` `isRepeatable()` Tells if the entity is capable of producing its data more than once.
`boolean` `isStreaming()` Tells whether this entity depends on an underlying stream.
`void` `writeTo(OutputStream outstream)` Writes the entity content out to the output stream.

Methods inherited from class org.apache.http.entity.AbstractHttpEntity
`consumeContent, getContentEncoding, getContentType, isChunked, setChunked, setContentEncoding, setContentEncoding, setContentType, setContentType`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SerializableEntity

    public SerializableEntity(Serializable ser,
                              boolean bufferize)
                       throws IOException

  Creates new instance of this class.

  Parameters:
    `ser` - input
    `bufferize` - tells whether the content should be stored in an internal buffer
  Throws:
    `IOException` - in case of an I/O error

Method Detail

### getContent

    public InputStream getContent()
                           throws IOException,
                                  IllegalStateException

  Description copied from interface: `HttpEntity`
  Returns a content stream of the entity. `Repeatable` entities are expected to create a new instance of `InputStream` for each invocation of this method and therefore can be consumed multiple times. Entities that are not `repeatable` are expected to return the same `InputStream` instance and therefore may not be consumed more than once.

  IMPORTANT: Please note all entity implementations must ensure that all allocated resources are properly deallocated after the `InputStream.close()` method is invoked.

  Returns:
    content stream of the entity.
  Throws:
    `IOException` - if the stream could not be created
    `IllegalStateException` - if content stream cannot be created.
  See Also:
    `HttpEntity.isRepeatable()`

### getContentLength

    public long getContentLength()

  Description copied from interface: `HttpEntity`
  Tells the length of the content, if known.

  Returns:
    the number of bytes of the content, or a negative number if unknown. If the content length is known but exceeds `Long.MAX_VALUE`, a negative number is returned.

### isRepeatable

    public boolean isRepeatable()

  Description copied from interface: `HttpEntity`
  Tells if the entity is capable of producing its data more than once. A repeatable entity's getContent() and writeTo(OutputStream) methods can be called more than once whereas a non-repeatable entity's can not.

  Returns:
    true if the entity is repeatable, false otherwise.

### isStreaming

    public boolean isStreaming()

  Description copied from interface: `HttpEntity`
  Tells whether this entity depends on an underlying stream. Streamed entities that read data directly from the socket should return `true`. Self-contained entities should return `false`. Wrapping entities should delegate this call to the wrapped entity.

  Returns:
    `true` if the entity content is streamed, `false` otherwise

### writeTo

    public void writeTo(OutputStream outstream)
                 throws IOException

  Description copied from interface: `HttpEntity`
  Writes the entity content out to the output stream.

  IMPORTANT: Please note all entity implementations must ensure that all allocated resources are properly deallocated when this method returns.

  Parameters:
    `outstream` - the output stream to write entity content to
  Throws:
    `IOException` - if an I/O error occurs

Copyright © 2005-2012 The Apache Software Foundation. All Rights Reserved.