Class BasicManagedEntity

java.lang.Object
org.apache.http.entity.HttpEntityWrapper
org.apache.http.conn.BasicManagedEntity
All Implemented Interfaces:
ConnectionReleaseTrigger, EofSensorWatcher, HttpEntity

@Deprecated public class BasicManagedEntity extends HttpEntityWrapper implements ConnectionReleaseTrigger, EofSensorWatcher
Deprecated.
(4.3) do not use.
An entity that releases a connection. A ManagedClientConnection will typically not return a managed entity, but you can replace the unmanaged entity in the response with a managed one.
Since:
4.0
  • Constructor Details

    • BasicManagedEntity

      public BasicManagedEntity(HttpEntity entity, ManagedClientConnection conn, boolean reuse)
      Deprecated.
      Creates a new managed entity that can release a connection.
      Parameters:
      entity - the entity of which to wrap the content. Note that the argument entity can no longer be used afterwards, since the content will be taken by this managed entity.
      conn - the connection to release
      reuse - whether the connection should be re-used
  • Method Details

    • isRepeatable

      public boolean isRepeatable()
      Deprecated.
      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.
      Specified by:
      isRepeatable in interface HttpEntity
      Overrides:
      isRepeatable in class HttpEntityWrapper
      Returns:
      true if the entity is repeatable, false otherwise.
    • getContent

      public InputStream getContent() throws IOException
      Deprecated.
      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.

      Specified by:
      getContent in interface HttpEntity
      Overrides:
      getContent in class HttpEntityWrapper
      Returns:
      content stream of the entity.
      Throws:
      IOException - if the stream could not be created
      See Also:
    • consumeContent

      @Deprecated public void consumeContent() throws IOException
      Deprecated.
      Description copied from interface: HttpEntity
      This method is deprecated since version 4.1. Please use standard java convention to ensure resource deallocation by calling InputStream.close() on the input stream returned by HttpEntity.getContent()

      This method is called to indicate that the content of this entity is no longer required. All entity implementations are expected to release all allocated resources as a result of this method invocation. Content streaming entities are also expected to dispose of the remaining content, if any. Wrapping entities should delegate this call to the wrapped entity.

      This method is of particular importance for entities being received from a connection. The entity needs to be consumed completely in order to re-use the connection with keep-alive.

      Specified by:
      consumeContent in interface HttpEntity
      Overrides:
      consumeContent in class HttpEntityWrapper
      Throws:
      IOException - if an I/O error occurs.
      See Also:
    • writeTo

      public void writeTo(OutputStream outStream) throws IOException
      Deprecated.
      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.

      Specified by:
      writeTo in interface HttpEntity
      Overrides:
      writeTo in class HttpEntityWrapper
      Parameters:
      outStream - the output stream to write entity content to
      Throws:
      IOException - if an I/O error occurs
    • releaseConnection

      public void releaseConnection() throws IOException
      Deprecated.
      Description copied from interface: ConnectionReleaseTrigger
      Releases the connection with the option of keep-alive. This is a "graceful" release and may cause IO operations for consuming the remainder of a response entity. Use abortConnection for a hard release. The connection may be reused as specified by the duration.
      Specified by:
      releaseConnection in interface ConnectionReleaseTrigger
      Throws:
      IOException - in case of an IO problem. The connection will be released anyway.
    • abortConnection

      public void abortConnection() throws IOException
      Deprecated.
      Description copied from interface: ConnectionReleaseTrigger
      Releases the connection without the option of keep-alive. This is a "hard" release that implies a shutdown of the connection. Use ConnectionReleaseTrigger.releaseConnection() for a graceful release.
      Specified by:
      abortConnection in interface ConnectionReleaseTrigger
      Throws:
      IOException - in case of an IO problem. The connection will be released anyway.
    • eofDetected

      public boolean eofDetected(InputStream wrapped) throws IOException
      Deprecated.
      Description copied from interface: EofSensorWatcher
      Indicates that EOF is detected.
      Specified by:
      eofDetected in interface EofSensorWatcher
      Parameters:
      wrapped - the underlying stream which has reached EOF
      Returns:
      true if wrapped should be closed, false if it should be left alone
      Throws:
      IOException - in case of an IO problem, for example if the watcher itself closes the underlying stream. The caller will leave the wrapped stream alone, as if false was returned.
    • streamClosed

      public boolean streamClosed(InputStream wrapped) throws IOException
      Deprecated.
      Description copied from interface: EofSensorWatcher
      Indicates that the stream is closed. This method will be called only if EOF was not detected before closing. Otherwise, eofDetected is called.
      Specified by:
      streamClosed in interface EofSensorWatcher
      Parameters:
      wrapped - the underlying stream which has not reached EOF
      Returns:
      true if wrapped should be closed, false if it should be left alone
      Throws:
      IOException - in case of an IO problem, for example if the watcher itself closes the underlying stream. The caller will leave the wrapped stream alone, as if false was returned.
    • streamAbort

      public boolean streamAbort(InputStream wrapped) throws IOException
      Deprecated.
      Description copied from interface: EofSensorWatcher
      Indicates that the stream is aborted. This method will be called only if EOF was not detected before aborting. Otherwise, eofDetected is called.

      This method will also be invoked when an input operation causes an IOException to be thrown to make sure the input stream gets shut down.

      Specified by:
      streamAbort in interface EofSensorWatcher
      Parameters:
      wrapped - the underlying stream which has not reached EOF
      Returns:
      true if wrapped should be closed, false if it should be left alone
      Throws:
      IOException - in case of an IO problem, for example if the watcher itself closes the underlying stream. The caller will leave the wrapped stream alone, as if false was returned.