org.jclouds.fallbacks
Class HeaderToRetryAfterException

java.lang.Object
  extended by org.jclouds.fallbacks.HeaderToRetryAfterException
All Implemented Interfaces:
com.google.common.util.concurrent.FutureFallback<Object>, PropagateIfRetryAfter

@Beta
public final class HeaderToRetryAfterException
extends Object
implements PropagateIfRetryAfter

propagates as RetryAfterException if a Throwable is an HttpResponseException with a set and a valid HttpHeaders.RETRY_AFTER header set.

Author:
Adrian Cole
See Also:
Retry-After format

Method Summary
 com.google.common.util.concurrent.ListenableFuture<Object> create(Throwable t)
          if input is not of type HttpResponseException, this method propagates.
static HeaderToRetryAfterException create(com.google.common.base.Ticker ticker, DateCodec dateCodec)
           
 com.google.common.base.Optional<RetryAfterException> tryCreateRetryAfterException(Throwable in, String retryAfter)
          returns a RetryAfterException if parameter retryAfter corresponds to known formats.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

create

public static HeaderToRetryAfterException create(com.google.common.base.Ticker ticker,
                                                 DateCodec dateCodec)
Parameters:
ticker - how to read current time
dateParser - how to parse the HttpHeaders.RETRY_AFTER header, if it is a Date.
Returns:

create

public com.google.common.util.concurrent.ListenableFuture<Object> create(Throwable t)
Description copied from interface: PropagateIfRetryAfter
if input is not of type HttpResponseException, this method propagates. Otherwise, immediate future of null, if didn't coerce to RetryAfterException

Specified by:
create in interface com.google.common.util.concurrent.FutureFallback<Object>
Specified by:
create in interface PropagateIfRetryAfter

tryCreateRetryAfterException

public com.google.common.base.Optional<RetryAfterException> tryCreateRetryAfterException(Throwable in,
                                                                                         String retryAfter)
returns a RetryAfterException if parameter retryAfter corresponds to known formats.

See Also:
Retry-After format


Copyright © 2009-2013 jclouds. All Rights Reserved.