com.ning.http.client.providers.apache
Class ApacheResponseFuture<V>

java.lang.Object
  extended by com.ning.http.client.providers.apache.ApacheResponseFuture<V>
All Implemented Interfaces:
FutureImpl<V>, Future<V>

public class ApacheResponseFuture<V>
extends Object
implements FutureImpl<V>


Constructor Summary
ApacheResponseFuture(AsyncHandler<V> asyncHandler, int responseTimeoutInMs, Request request, org.apache.commons.httpclient.HttpMethodBase method)
           
 
Method Summary
 void abort(Throwable t)
          Abort the current processing, and propagate the Throwable to the AsyncHandler or Future
 boolean cancel(boolean mayInterruptIfRunning)
           
 void content(V v)
          TODO.
 void done(Callable callable)
          Execute a Callable and if there is no exception, mark this Future as done and release the internal lock.
 V get()
           
 V get(long timeout, TimeUnit unit)
           
 boolean getAndSetWriteBody(boolean writeBody)
          Write the Request body
 boolean getAndSetWriteHeaders(boolean writeHeaders)
          Write the Request headers
 Request getRequest()
           
 boolean hasExpired()
          Is the Future still valid
 boolean isCancelled()
           
 boolean isDone()
           
protected  void setInnerFuture(Future<V> innerFuture)
           
protected  void setReaperFuture(Future<?> reaperFuture)
           
 String toString()
           
 void touch()
          Touch the current instance to prevent external service to times out.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ApacheResponseFuture

public ApacheResponseFuture(AsyncHandler<V> asyncHandler,
                            int responseTimeoutInMs,
                            Request request,
                            org.apache.commons.httpclient.HttpMethodBase method)
Method Detail

setInnerFuture

protected void setInnerFuture(Future<V> innerFuture)

done

public void done(Callable callable)
Description copied from interface: FutureImpl
Execute a Callable and if there is no exception, mark this Future as done and release the internal lock.

Specified by:
done in interface FutureImpl<V>

content

public void content(V v)
TODO.

Specified by:
content in interface FutureImpl<V>
Parameters:
v - The new content

setReaperFuture

protected void setReaperFuture(Future<?> reaperFuture)

toString

public String toString()
Overrides:
toString in class Object

abort

public void abort(Throwable t)
Description copied from interface: FutureImpl
Abort the current processing, and propagate the Throwable to the AsyncHandler or Future

Specified by:
abort in interface FutureImpl<V>

cancel

public boolean cancel(boolean mayInterruptIfRunning)
Specified by:
cancel in interface Future<V>

isCancelled

public boolean isCancelled()
Specified by:
isCancelled in interface Future<V>

isDone

public boolean isDone()
Specified by:
isDone in interface Future<V>

get

public V get()
      throws InterruptedException,
             ExecutionException
Specified by:
get in interface Future<V>
Throws:
InterruptedException
ExecutionException

get

public V get(long timeout,
             TimeUnit unit)
      throws InterruptedException,
             ExecutionException,
             TimeoutException
Specified by:
get in interface Future<V>
Throws:
InterruptedException
ExecutionException
TimeoutException

hasExpired

public boolean hasExpired()
Is the Future still valid

Returns:
true if response has expired and should be terminated.

touch

public void touch()
Description copied from interface: FutureImpl
Touch the current instance to prevent external service to times out.

Specified by:
touch in interface FutureImpl<V>

getRequest

public Request getRequest()

getAndSetWriteHeaders

public boolean getAndSetWriteHeaders(boolean writeHeaders)
Write the Request headers

Specified by:
getAndSetWriteHeaders in interface FutureImpl<V>

getAndSetWriteBody

public boolean getAndSetWriteBody(boolean writeBody)
Write the Request body

Specified by:
getAndSetWriteBody in interface FutureImpl<V>


Copyright © 2011. All Rights Reserved.