public class org.springframework.http.codec.DecoderHttpMessageReader<T> implements org.springframework.http.codec.HttpMessageReader<T>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.http.codec.DecoderHttpMessageReader
super_class: java.lang.Object
{
private final org.springframework.core.codec.Decoder<T> decoder;
descriptor: Lorg/springframework/core/codec/Decoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/springframework/core/codec/Decoder<TT;>;
private final java.util.List<org.springframework.http.MediaType> mediaTypes;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/springframework/http/MediaType;>;
public void <init>(org.springframework.core.codec.Decoder<T>);
descriptor: (Lorg/springframework/core/codec/Decoder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Decoder is required"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 1
invokestatic org.springframework.http.codec.DecoderHttpMessageReader.initLogger:(Lorg/springframework/core/codec/Decoder;)V
3: aload 0
aload 1
putfield org.springframework.http.codec.DecoderHttpMessageReader.decoder:Lorg/springframework/core/codec/Decoder;
4: aload 0
aload 1
invokeinterface org.springframework.core.codec.Decoder.getDecodableMimeTypes:()Ljava/util/List;
invokestatic org.springframework.http.MediaType.asMediaTypes:(Ljava/util/List;)Ljava/util/List;
putfield org.springframework.http.codec.DecoderHttpMessageReader.mediaTypes:Ljava/util/List;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/http/codec/DecoderHttpMessageReader<TT;>;
0 6 1 decoder Lorg/springframework/core/codec/Decoder<TT;>;
Signature: (Lorg/springframework/core/codec/Decoder<TT;>;)V
MethodParameters:
Name Flags
decoder
private static void initLogger(org.springframework.core.codec.Decoder<?>);
descriptor: (Lorg/springframework/core/codec/Decoder;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
instanceof org.springframework.core.codec.AbstractDecoder
ifeq 4
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "org.springframework.core.codec"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
2: aload 0
checkcast org.springframework.core.codec.AbstractDecoder
invokevirtual org.springframework.core.codec.AbstractDecoder.getLogger:()Lorg/apache/commons/logging/Log;
invokestatic org.springframework.http.HttpLogging.forLog:(Lorg/apache/commons/logging/Log;)Lorg/apache/commons/logging/Log;
astore 1
start local 1 3: aload 0
checkcast org.springframework.core.codec.AbstractDecoder
aload 1
invokevirtual org.springframework.core.codec.AbstractDecoder.setLogger:(Lorg/apache/commons/logging/Log;)V
end local 1 4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 decoder Lorg/springframework/core/codec/Decoder<*>;
3 4 1 logger Lorg/apache/commons/logging/Log;
Signature: (Lorg/springframework/core/codec/Decoder<*>;)V
MethodParameters:
Name Flags
decoder
public org.springframework.core.codec.Decoder<T> getDecoder();
descriptor: ()Lorg/springframework/core/codec/Decoder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.codec.DecoderHttpMessageReader.decoder:Lorg/springframework/core/codec/Decoder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/codec/DecoderHttpMessageReader<TT;>;
Signature: ()Lorg/springframework/core/codec/Decoder<TT;>;
public java.util.List<org.springframework.http.MediaType> getReadableMediaTypes();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.codec.DecoderHttpMessageReader.mediaTypes:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/codec/DecoderHttpMessageReader<TT;>;
Signature: ()Ljava/util/List<Lorg/springframework/http/MediaType;>;
public boolean canRead(org.springframework.core.ResolvableType, org.springframework.http.MediaType);
descriptor: (Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.http.codec.DecoderHttpMessageReader.decoder:Lorg/springframework/core/codec/Decoder;
aload 1
aload 2
invokeinterface org.springframework.core.codec.Decoder.canDecode:(Lorg/springframework/core/ResolvableType;Lorg/springframework/util/MimeType;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/codec/DecoderHttpMessageReader<TT;>;
0 1 1 elementType Lorg/springframework/core/ResolvableType;
0 1 2 mediaType Lorg/springframework/http/MediaType;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
elementType
mediaType
public reactor.core.publisher.Flux<T> read(org.springframework.core.ResolvableType, org.springframework.http.ReactiveHttpInputMessage, java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Lorg/springframework/core/ResolvableType;Lorg/springframework/http/ReactiveHttpInputMessage;Ljava/util/Map;)Lreactor/core/publisher/Flux;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual org.springframework.http.codec.DecoderHttpMessageReader.getContentType:(Lorg/springframework/http/HttpMessage;)Lorg/springframework/http/MediaType;
astore 4
start local 4 1: aload 0
getfield org.springframework.http.codec.DecoderHttpMessageReader.decoder:Lorg/springframework/core/codec/Decoder;
aload 2
invokeinterface org.springframework.http.ReactiveHttpInputMessage.getBody:()Lreactor/core/publisher/Flux;
aload 1
aload 4
aload 3
invokeinterface org.springframework.core.codec.Decoder.decode:(Lorg/reactivestreams/Publisher;Lorg/springframework/core/ResolvableType;Lorg/springframework/util/MimeType;Ljava/util/Map;)Lreactor/core/publisher/Flux;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/codec/DecoderHttpMessageReader<TT;>;
0 2 1 elementType Lorg/springframework/core/ResolvableType;
0 2 2 message Lorg/springframework/http/ReactiveHttpInputMessage;
0 2 3 hints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
1 2 4 contentType Lorg/springframework/http/MediaType;
Signature: (Lorg/springframework/core/ResolvableType;Lorg/springframework/http/ReactiveHttpInputMessage;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lreactor/core/publisher/Flux<TT;>;
MethodParameters:
Name Flags
elementType
message
hints
public reactor.core.publisher.Mono<T> readMono(org.springframework.core.ResolvableType, org.springframework.http.ReactiveHttpInputMessage, java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Lorg/springframework/core/ResolvableType;Lorg/springframework/http/ReactiveHttpInputMessage;Ljava/util/Map;)Lreactor/core/publisher/Mono;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual org.springframework.http.codec.DecoderHttpMessageReader.getContentType:(Lorg/springframework/http/HttpMessage;)Lorg/springframework/http/MediaType;
astore 4
start local 4 1: aload 0
getfield org.springframework.http.codec.DecoderHttpMessageReader.decoder:Lorg/springframework/core/codec/Decoder;
aload 2
invokeinterface org.springframework.http.ReactiveHttpInputMessage.getBody:()Lreactor/core/publisher/Flux;
aload 1
aload 4
aload 3
invokeinterface org.springframework.core.codec.Decoder.decodeToMono:(Lorg/reactivestreams/Publisher;Lorg/springframework/core/ResolvableType;Lorg/springframework/util/MimeType;Ljava/util/Map;)Lreactor/core/publisher/Mono;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/codec/DecoderHttpMessageReader<TT;>;
0 2 1 elementType Lorg/springframework/core/ResolvableType;
0 2 2 message Lorg/springframework/http/ReactiveHttpInputMessage;
0 2 3 hints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
1 2 4 contentType Lorg/springframework/http/MediaType;
Signature: (Lorg/springframework/core/ResolvableType;Lorg/springframework/http/ReactiveHttpInputMessage;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lreactor/core/publisher/Mono<TT;>;
MethodParameters:
Name Flags
elementType
message
hints
protected org.springframework.http.MediaType getContentType(org.springframework.http.HttpMessage);
descriptor: (Lorg/springframework/http/HttpMessage;)Lorg/springframework/http/MediaType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.springframework.http.HttpMessage.getHeaders:()Lorg/springframework/http/HttpHeaders;
invokevirtual org.springframework.http.HttpHeaders.getContentType:()Lorg/springframework/http/MediaType;
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
goto 3
StackMap locals: org.springframework.http.MediaType
StackMap stack:
2: getstatic org.springframework.http.MediaType.APPLICATION_OCTET_STREAM:Lorg/springframework/http/MediaType;
StackMap locals:
StackMap stack: org.springframework.http.MediaType
3: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/http/codec/DecoderHttpMessageReader<TT;>;
0 4 1 inputMessage Lorg/springframework/http/HttpMessage;
1 4 2 contentType Lorg/springframework/http/MediaType;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
inputMessage
public reactor.core.publisher.Flux<T> read(org.springframework.core.ResolvableType, org.springframework.core.ResolvableType, org.springframework.http.server.reactive.ServerHttpRequest, org.springframework.http.server.reactive.ServerHttpResponse, java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;Ljava/util/Map;)Lreactor/core/publisher/Flux;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
1: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.springframework.http.codec.DecoderHttpMessageReader.getReadHints:(Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;)Ljava/util/Map;
2: invokestatic org.springframework.core.codec.Hints.merge:(Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
astore 6
start local 6 3: aload 0
aload 2
aload 3
aload 6
invokevirtual org.springframework.http.codec.DecoderHttpMessageReader.read:(Lorg/springframework/core/ResolvableType;Lorg/springframework/http/ReactiveHttpInputMessage;Ljava/util/Map;)Lreactor/core/publisher/Flux;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/http/codec/DecoderHttpMessageReader<TT;>;
0 4 1 actualType Lorg/springframework/core/ResolvableType;
0 4 2 elementType Lorg/springframework/core/ResolvableType;
0 4 3 request Lorg/springframework/http/server/reactive/ServerHttpRequest;
0 4 4 response Lorg/springframework/http/server/reactive/ServerHttpResponse;
0 4 5 hints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
3 4 6 allHints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
Signature: (Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lreactor/core/publisher/Flux<TT;>;
MethodParameters:
Name Flags
actualType
elementType
request
response
hints
public reactor.core.publisher.Mono<T> readMono(org.springframework.core.ResolvableType, org.springframework.core.ResolvableType, org.springframework.http.server.reactive.ServerHttpRequest, org.springframework.http.server.reactive.ServerHttpResponse, java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;Ljava/util/Map;)Lreactor/core/publisher/Mono;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
1: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.springframework.http.codec.DecoderHttpMessageReader.getReadHints:(Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;)Ljava/util/Map;
2: invokestatic org.springframework.core.codec.Hints.merge:(Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map;
astore 6
start local 6 3: aload 0
aload 2
aload 3
aload 6
invokevirtual org.springframework.http.codec.DecoderHttpMessageReader.readMono:(Lorg/springframework/core/ResolvableType;Lorg/springframework/http/ReactiveHttpInputMessage;Ljava/util/Map;)Lreactor/core/publisher/Mono;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/http/codec/DecoderHttpMessageReader<TT;>;
0 4 1 actualType Lorg/springframework/core/ResolvableType;
0 4 2 elementType Lorg/springframework/core/ResolvableType;
0 4 3 request Lorg/springframework/http/server/reactive/ServerHttpRequest;
0 4 4 response Lorg/springframework/http/server/reactive/ServerHttpResponse;
0 4 5 hints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
3 4 6 allHints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
Signature: (Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lreactor/core/publisher/Mono<TT;>;
MethodParameters:
Name Flags
actualType
elementType
request
response
hints
protected java.util.Map<java.lang.String, java.lang.Object> getReadHints(org.springframework.core.ResolvableType, org.springframework.core.ResolvableType, org.springframework.http.server.reactive.ServerHttpRequest, org.springframework.http.server.reactive.ServerHttpResponse);
descriptor: (Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;)Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.springframework.http.codec.DecoderHttpMessageReader.decoder:Lorg/springframework/core/codec/Decoder;
instanceof org.springframework.http.codec.HttpMessageDecoder
ifeq 3
1: aload 0
getfield org.springframework.http.codec.DecoderHttpMessageReader.decoder:Lorg/springframework/core/codec/Decoder;
checkcast org.springframework.http.codec.HttpMessageDecoder
astore 5
start local 5 2: aload 5
aload 1
aload 2
aload 3
aload 4
invokeinterface org.springframework.http.codec.HttpMessageDecoder.getDecodeHints:(Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;)Ljava/util/Map;
areturn
end local 5 3: StackMap locals:
StackMap stack:
invokestatic org.springframework.core.codec.Hints.none:()Ljava/util/Map;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/http/codec/DecoderHttpMessageReader<TT;>;
0 4 1 actualType Lorg/springframework/core/ResolvableType;
0 4 2 elementType Lorg/springframework/core/ResolvableType;
0 4 3 request Lorg/springframework/http/server/reactive/ServerHttpRequest;
0 4 4 response Lorg/springframework/http/server/reactive/ServerHttpResponse;
2 3 5 decoder Lorg/springframework/http/codec/HttpMessageDecoder<*>;
Signature: (Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
MethodParameters:
Name Flags
actualType
elementType
request
response
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/springframework/http/codec/HttpMessageReader<TT;>;
SourceFile: "DecoderHttpMessageReader.java"