View Javadoc

1   package com.atlassian.httpclient.api;
2   
3   import com.atlassian.util.concurrent.ForwardingPromise;
4   import com.atlassian.util.concurrent.Promise;
5   
6   import static com.google.common.base.Preconditions.checkNotNull;
7   
8   final class WrappingResponsePromise extends ForwardingPromise<Response> implements ResponsePromise {
9       private final Promise<Response> delegate;
10  
11      WrappingResponsePromise(Promise<Response> delegate) {
12          this.delegate = checkNotNull(delegate);
13      }
14  
15      @Override
16      protected final Promise<Response> delegate() {
17          return delegate;
18      }
19  
20      public <T> Promise<T> transform(ResponseTransformation<T> transformation) {
21          return delegate.fold(transformation.getFailFunction(), transformation.getSuccessFunctions());
22      }
23  }