org.apache.http.conn.BasicManagedEntity
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.
Summary
Fields
Public Constructors
Public Methods
Protected Methods
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Fields
protected
final
boolean
attemptReuse
Whether to keep the connection alive.
The connection to release.
Public Constructors
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
|
Public Methods
public
void
abortConnection()
Releases the connection without the option of keep-alive.
This is a "hard" release that implies a shutdown of the connection.
Use
releaseConnection for a graceful release.
public
void
consumeContent()
TODO: The name of this method is misnomer. It will be renamed to
#finish() in the next major release.
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.
public
boolean
eofDetected(InputStream wrapped)
Indicates that EOF is detected.
Creates a new InputStream object of the entity.
It is a programming error
to return the same InputStream object more than once.
Entities that are not
repeatable
will throw an exception if this method is called multiple times.
public
boolean
isRepeatable()
Tells if the entity is capable to produce 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.
public
void
releaseConnection()
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.
public
boolean
streamAbort(InputStream wrapped)
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.
public
boolean
streamClosed(InputStream wrapped)
Indicates that the
stream is closed.
This method will be called only if EOF was
not detected
before closing. Otherwise,
eofDetected is called.
public
void
writeTo(OutputStream outstream)
Writes the entity content to the output stream.
Protected Methods
protected
void
releaseManagedConnection()
Releases the connection gracefully.
The connection attribute will be nullified.
Subsequent invocations are no-ops.
Throws
IOException
| in case of an IO problem.
The connection attribute will be nullified anyway.
|