class <T> extends org.springframework.util.concurrent.ListenableFutureAdapter<T, org.springframework.http.client.ClientHttpResponse>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture
super_class: org.springframework.util.concurrent.ListenableFutureAdapter
{
private final org.springframework.http.HttpMethod ;
descriptor: Lorg/springframework/http/HttpMethod;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.net.URI ;
descriptor: Ljava/net/URI;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.springframework.web.client.ResponseExtractor<T> ;
descriptor: Lorg/springframework/web/client/ResponseExtractor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/springframework/web/client/ResponseExtractor<TT;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
final org.springframework.web.client.AsyncRestTemplate ;
descriptor: Lorg/springframework/web/client/AsyncRestTemplate;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(org.springframework.http.HttpMethod, java.net.URI, org.springframework.util.concurrent.ListenableFuture<org.springframework.http.client.ClientHttpResponse>, org.springframework.web.client.ResponseExtractor<T>);
descriptor: (Lorg/springframework/web/client/AsyncRestTemplate;Lorg/springframework/http/HttpMethod;Ljava/net/URI;Lorg/springframework/util/concurrent/ListenableFuture;Lorg/springframework/web/client/ResponseExtractor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=6
start local 0 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
putfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.this$0:Lorg/springframework/web/client/AsyncRestTemplate;
1: aload 0
aload 4
invokespecial org.springframework.util.concurrent.ListenableFutureAdapter.<init>:(Lorg/springframework/util/concurrent/ListenableFuture;)V
2: aload 0
aload 2
putfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.method:Lorg/springframework/http/HttpMethod;
3: aload 0
aload 3
putfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.url:Ljava/net/URI;
4: aload 0
aload 5
putfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.responseExtractor:Lorg/springframework/web/client/ResponseExtractor;
5: return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/web/client/AsyncRestTemplate$ResponseExtractorFuture<TT;>;
0 6 2 method Lorg/springframework/http/HttpMethod;
0 6 3 url Ljava/net/URI;
0 6 4 clientHttpResponseFuture Lorg/springframework/util/concurrent/ListenableFuture<Lorg/springframework/http/client/ClientHttpResponse;>;
0 6 5 responseExtractor Lorg/springframework/web/client/ResponseExtractor<TT;>;
Signature: (Lorg/springframework/http/HttpMethod;Ljava/net/URI;Lorg/springframework/util/concurrent/ListenableFuture<Lorg/springframework/http/client/ClientHttpResponse;>;Lorg/springframework/web/client/ResponseExtractor<TT;>;)V
RuntimeVisibleParameterAnnotations:
0:
1:
2:
3:
org.springframework.lang.Nullable()
4:
MethodParameters:
Name Flags
this$0 final
method
url
clientHttpResponseFuture
responseExtractor
protected final T adapt(org.springframework.http.client.ClientHttpResponse);
descriptor: (Lorg/springframework/http/client/ClientHttpResponse;)Ljava/lang/Object;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.this$0:Lorg/springframework/web/client/AsyncRestTemplate;
invokevirtual org.springframework.web.client.AsyncRestTemplate.getErrorHandler:()Lorg/springframework/web/client/ResponseErrorHandler;
aload 1
invokeinterface org.springframework.web.client.ResponseErrorHandler.hasError:(Lorg/springframework/http/client/ClientHttpResponse;)Z
ifne 3
1: aload 0
getfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.this$0:Lorg/springframework/web/client/AsyncRestTemplate;
aload 0
getfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.method:Lorg/springframework/http/HttpMethod;
aload 0
getfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.url:Ljava/net/URI;
aload 1
invokevirtual org.springframework.web.client.AsyncRestTemplate.logResponseStatus:(Lorg/springframework/http/HttpMethod;Ljava/net/URI;Lorg/springframework/http/client/ClientHttpResponse;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.this$0:Lorg/springframework/web/client/AsyncRestTemplate;
aload 0
getfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.method:Lorg/springframework/http/HttpMethod;
aload 0
getfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.url:Ljava/net/URI;
aload 1
invokevirtual org.springframework.web.client.AsyncRestTemplate.handleResponseError:(Lorg/springframework/http/HttpMethod;Ljava/net/URI;Lorg/springframework/http/client/ClientHttpResponse;)V
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.convertResponse:(Lorg/springframework/http/client/ClientHttpResponse;)Ljava/lang/Object;
astore 4
5: aload 1
invokeinterface org.springframework.http.client.ClientHttpResponse.close:()V
6: aload 4
areturn
7: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 8: new java.util.concurrent.ExecutionException
dup
aload 2
invokespecial java.util.concurrent.ExecutionException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
10: aload 1
invokeinterface org.springframework.http.client.ClientHttpResponse.close:()V
11: aload 3
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/web/client/AsyncRestTemplate$ResponseExtractorFuture<TT;>;
0 12 1 response Lorg/springframework/http/client/ClientHttpResponse;
8 9 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 5 7 Class java.lang.Throwable
0 5 9 any
7 9 9 any
Exceptions:
throws java.util.concurrent.ExecutionException
Signature: (Lorg/springframework/http/client/ClientHttpResponse;)TT;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
response
protected T convertResponse(org.springframework.http.client.ClientHttpResponse);
descriptor: (Lorg/springframework/http/client/ClientHttpResponse;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.responseExtractor:Lorg/springframework/web/client/ResponseExtractor;
ifnull 1
aload 0
getfield org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.responseExtractor:Lorg/springframework/web/client/ResponseExtractor;
aload 1
invokeinterface org.springframework.web.client.ResponseExtractor.extractData:(Lorg/springframework/http/client/ClientHttpResponse;)Ljava/lang/Object;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/web/client/AsyncRestTemplate$ResponseExtractorFuture<TT;>;
0 3 1 response Lorg/springframework/http/client/ClientHttpResponse;
Exceptions:
throws java.io.IOException
Signature: (Lorg/springframework/http/client/ClientHttpResponse;)TT;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
response
protected java.lang.Object (java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.springframework.http.client.ClientHttpResponse
invokevirtual org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture.adapt:(Lorg/springframework/http/client/ClientHttpResponse;)Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.util.concurrent.ExecutionException
}
Signature: <T:Ljava/lang/Object;>Lorg/springframework/util/concurrent/ListenableFutureAdapter<TT;Lorg/springframework/http/client/ClientHttpResponse;>;
SourceFile: "AsyncRestTemplate.java"
NestHost: org.springframework.web.client.AsyncRestTemplate
InnerClasses:
private ResponseExtractorFuture = org.springframework.web.client.AsyncRestTemplate$ResponseExtractorFuture of org.springframework.web.client.AsyncRestTemplate