public class org.springframework.http.codec.EncoderHttpMessageWriter<T> implements org.springframework.http.codec.HttpMessageWriter<T>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.http.codec.EncoderHttpMessageWriter
super_class: java.lang.Object
{
private final org.springframework.core.codec.Encoder<T> encoder;
descriptor: Lorg/springframework/core/codec/Encoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/springframework/core/codec/Encoder<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;>;
private final org.springframework.http.MediaType defaultMediaType;
descriptor: Lorg/springframework/http/MediaType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void <init>(org.springframework.core.codec.Encoder<T>);
descriptor: (Lorg/springframework/core/codec/Encoder;)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 "Encoder is required"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 1
invokestatic org.springframework.http.codec.EncoderHttpMessageWriter.initLogger:(Lorg/springframework/core/codec/Encoder;)V
3: aload 0
aload 1
putfield org.springframework.http.codec.EncoderHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
4: aload 0
aload 1
invokeinterface org.springframework.core.codec.Encoder.getEncodableMimeTypes:()Ljava/util/List;
invokestatic org.springframework.http.MediaType.asMediaTypes:(Ljava/util/List;)Ljava/util/List;
putfield org.springframework.http.codec.EncoderHttpMessageWriter.mediaTypes:Ljava/util/List;
5: aload 0
aload 0
getfield org.springframework.http.codec.EncoderHttpMessageWriter.mediaTypes:Ljava/util/List;
invokestatic org.springframework.http.codec.EncoderHttpMessageWriter.initDefaultMediaType:(Ljava/util/List;)Lorg/springframework/http/MediaType;
putfield org.springframework.http.codec.EncoderHttpMessageWriter.defaultMediaType:Lorg/springframework/http/MediaType;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/http/codec/EncoderHttpMessageWriter<TT;>;
0 7 1 encoder Lorg/springframework/core/codec/Encoder<TT;>;
Signature: (Lorg/springframework/core/codec/Encoder<TT;>;)V
MethodParameters:
Name Flags
encoder
private static void initLogger(org.springframework.core.codec.Encoder<?>);
descriptor: (Lorg/springframework/core/codec/Encoder;)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.AbstractEncoder
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.AbstractEncoder
invokevirtual org.springframework.core.codec.AbstractEncoder.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.AbstractEncoder
aload 1
invokevirtual org.springframework.core.codec.AbstractEncoder.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 encoder Lorg/springframework/core/codec/Encoder<*>;
3 4 1 logger Lorg/apache/commons/logging/Log;
Signature: (Lorg/springframework/core/codec/Encoder<*>;)V
MethodParameters:
Name Flags
encoder
private static org.springframework.http.MediaType initDefaultMediaType(java.util.List<org.springframework.http.MediaType>);
descriptor: (Ljava/util/List;)Lorg/springframework/http/MediaType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/springframework/util/MimeType.isConcrete()Z (5)
(Lorg/springframework/http/MediaType;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.http.MediaType
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mediaTypes Ljava/util/List<Lorg/springframework/http/MediaType;>;
Signature: (Ljava/util/List<Lorg/springframework/http/MediaType;>;)Lorg/springframework/http/MediaType;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
mediaTypes
public org.springframework.core.codec.Encoder<T> getEncoder();
descriptor: ()Lorg/springframework/core/codec/Encoder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.codec.EncoderHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/codec/EncoderHttpMessageWriter<TT;>;
Signature: ()Lorg/springframework/core/codec/Encoder<TT;>;
public java.util.List<org.springframework.http.MediaType> getWritableMediaTypes();
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.EncoderHttpMessageWriter.mediaTypes:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/codec/EncoderHttpMessageWriter<TT;>;
Signature: ()Ljava/util/List<Lorg/springframework/http/MediaType;>;
public boolean canWrite(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.EncoderHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
aload 1
aload 2
invokeinterface org.springframework.core.codec.Encoder.canEncode:(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/EncoderHttpMessageWriter<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.Mono<java.lang.Void> write(org.reactivestreams.Publisher<? extends T>, org.springframework.core.ResolvableType, org.springframework.http.MediaType, org.springframework.http.ReactiveHttpOutputMessage, java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Lorg/reactivestreams/Publisher;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/ReactiveHttpOutputMessage;Ljava/util/Map;)Lreactor/core/publisher/Mono;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 4
aload 3
invokevirtual org.springframework.http.codec.EncoderHttpMessageWriter.updateContentType:(Lorg/springframework/http/ReactiveHttpOutputMessage;Lorg/springframework/http/MediaType;)Lorg/springframework/http/MediaType;
astore 6
start local 6 1: aload 0
getfield org.springframework.http.codec.EncoderHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
2: aload 1
aload 4
invokeinterface org.springframework.http.ReactiveHttpOutputMessage.bufferFactory:()Lorg/springframework/core/io/buffer/DataBufferFactory;
aload 2
aload 6
aload 5
3: invokeinterface org.springframework.core.codec.Encoder.encode:(Lorg/reactivestreams/Publisher;Lorg/springframework/core/io/buffer/DataBufferFactory;Lorg/springframework/core/ResolvableType;Lorg/springframework/util/MimeType;Ljava/util/Map;)Lreactor/core/publisher/Flux;
astore 7
start local 7 4: aload 1
instanceof reactor.core.publisher.Mono
ifeq 10
5: aload 4
invokeinterface org.springframework.http.ReactiveHttpOutputMessage.getHeaders:()Lorg/springframework/http/HttpHeaders;
astore 8
start local 8 6: aload 7
invokestatic reactor.core.publisher.Mono.from:(Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Mono;
7: aload 8
aload 4
invokedynamic get(Lorg/springframework/http/HttpHeaders;Lorg/springframework/http/ReactiveHttpOutputMessage;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/springframework/http/codec/EncoderHttpMessageWriter.lambda$1(Lorg/springframework/http/HttpHeaders;Lorg/springframework/http/ReactiveHttpOutputMessage;)Lreactor/core/publisher/Mono; (6)
()Lreactor/core/publisher/Mono;
invokestatic reactor.core.publisher.Mono.defer:(Ljava/util/function/Supplier;)Lreactor/core/publisher/Mono;
invokevirtual reactor.core.publisher.Mono.switchIfEmpty:(Lreactor/core/publisher/Mono;)Lreactor/core/publisher/Mono;
8: aload 8
aload 4
invokedynamic apply(Lorg/springframework/http/HttpHeaders;Lorg/springframework/http/ReactiveHttpOutputMessage;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/springframework/http/codec/EncoderHttpMessageWriter.lambda$2(Lorg/springframework/http/HttpHeaders;Lorg/springframework/http/ReactiveHttpOutputMessage;Lorg/springframework/core/io/buffer/DataBuffer;)Lreactor/core/publisher/Mono; (6)
(Lorg/springframework/core/io/buffer/DataBuffer;)Lreactor/core/publisher/Mono;
invokevirtual reactor.core.publisher.Mono.flatMap:(Ljava/util/function/Function;)Lreactor/core/publisher/Mono;
9: areturn
end local 8 10: StackMap locals: org.springframework.http.MediaType reactor.core.publisher.Flux
StackMap stack:
aload 0
aload 6
invokevirtual org.springframework.http.codec.EncoderHttpMessageWriter.isStreamingMediaType:(Lorg/springframework/http/MediaType;)Z
ifeq 12
11: aload 4
aload 7
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
reactor/core/publisher/Flux.just(Ljava/lang/Object;)Lreactor/core/publisher/Flux; (6)
(Lorg/springframework/core/io/buffer/DataBuffer;)Lreactor/core/publisher/Flux;
invokevirtual reactor.core.publisher.Flux.map:(Ljava/util/function/Function;)Lreactor/core/publisher/Flux;
invokeinterface org.springframework.http.ReactiveHttpOutputMessage.writeAndFlushWith:(Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Mono;
goto 13
StackMap locals:
StackMap stack:
12: aload 4
aload 7
invokeinterface org.springframework.http.ReactiveHttpOutputMessage.writeWith:(Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Mono;
13: StackMap locals:
StackMap stack: reactor.core.publisher.Mono
areturn
end local 7 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 14 0 this Lorg/springframework/http/codec/EncoderHttpMessageWriter<TT;>;
0 14 1 inputStream Lorg/reactivestreams/Publisher<+TT;>;
0 14 2 elementType Lorg/springframework/core/ResolvableType;
0 14 3 mediaType Lorg/springframework/http/MediaType;
0 14 4 message Lorg/springframework/http/ReactiveHttpOutputMessage;
0 14 5 hints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
1 14 6 contentType Lorg/springframework/http/MediaType;
4 14 7 body Lreactor/core/publisher/Flux<Lorg/springframework/core/io/buffer/DataBuffer;>;
6 10 8 headers Lorg/springframework/http/HttpHeaders;
Signature: (Lorg/reactivestreams/Publisher<+TT;>;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/ReactiveHttpOutputMessage;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Lreactor/core/publisher/Mono<Ljava/lang/Void;>;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
3:
4:
MethodParameters:
Name Flags
inputStream
elementType
mediaType
message
hints
private org.springframework.http.MediaType updateContentType(org.springframework.http.ReactiveHttpOutputMessage, org.springframework.http.MediaType);
descriptor: (Lorg/springframework/http/ReactiveHttpOutputMessage;Lorg/springframework/http/MediaType;)Lorg/springframework/http/MediaType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface org.springframework.http.ReactiveHttpOutputMessage.getHeaders:()Lorg/springframework/http/HttpHeaders;
invokevirtual org.springframework.http.HttpHeaders.getContentType:()Lorg/springframework/http/MediaType;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
areturn
3: StackMap locals: org.springframework.http.MediaType
StackMap stack:
aload 0
getfield org.springframework.http.codec.EncoderHttpMessageWriter.defaultMediaType:Lorg/springframework/http/MediaType;
astore 4
start local 4 4: aload 2
aload 4
invokestatic org.springframework.http.codec.EncoderHttpMessageWriter.useFallback:(Lorg/springframework/http/MediaType;Lorg/springframework/http/MediaType;)Z
ifeq 5
aload 4
goto 6
StackMap locals: org.springframework.http.MediaType
StackMap stack:
5: aload 2
StackMap locals:
StackMap stack: org.springframework.http.MediaType
6: astore 3
7: aload 3
ifnull 10
8: aload 3
aload 4
invokestatic org.springframework.http.codec.EncoderHttpMessageWriter.addDefaultCharset:(Lorg/springframework/http/MediaType;Lorg/springframework/http/MediaType;)Lorg/springframework/http/MediaType;
astore 3
9: aload 1
invokeinterface org.springframework.http.ReactiveHttpOutputMessage.getHeaders:()Lorg/springframework/http/HttpHeaders;
aload 3
invokevirtual org.springframework.http.HttpHeaders.setContentType:(Lorg/springframework/http/MediaType;)V
10: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/http/codec/EncoderHttpMessageWriter<TT;>;
0 11 1 message Lorg/springframework/http/ReactiveHttpOutputMessage;
0 11 2 mediaType Lorg/springframework/http/MediaType;
1 11 3 result Lorg/springframework/http/MediaType;
4 11 4 fallback Lorg/springframework/http/MediaType;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
message
mediaType
private static boolean useFallback(org.springframework.http.MediaType, org.springframework.http.MediaType);
descriptor: (Lorg/springframework/http/MediaType;Lorg/springframework/http/MediaType;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnull 3
aload 0
invokevirtual org.springframework.http.MediaType.isConcrete:()Z
ifeq 3
1: aload 0
getstatic org.springframework.http.MediaType.APPLICATION_OCTET_STREAM:Lorg/springframework/http/MediaType;
invokevirtual org.springframework.http.MediaType.equals:(Ljava/lang/Object;)Z
ifeq 2
aload 1
ifnonnull 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 main Lorg/springframework/http/MediaType;
0 4 1 fallback Lorg/springframework/http/MediaType;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
main
fallback
private static org.springframework.http.MediaType addDefaultCharset(org.springframework.http.MediaType, org.springframework.http.MediaType);
descriptor: (Lorg/springframework/http/MediaType;Lorg/springframework/http/MediaType;)Lorg/springframework/http/MediaType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.http.MediaType.getCharset:()Ljava/nio/charset/Charset;
ifnonnull 2
aload 1
ifnull 2
aload 1
invokevirtual org.springframework.http.MediaType.getCharset:()Ljava/nio/charset/Charset;
ifnull 2
1: new org.springframework.http.MediaType
dup
aload 0
aload 1
invokevirtual org.springframework.http.MediaType.getCharset:()Ljava/nio/charset/Charset;
invokespecial org.springframework.http.MediaType.<init>:(Lorg/springframework/http/MediaType;Ljava/nio/charset/Charset;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 main Lorg/springframework/http/MediaType;
0 3 1 defaultType Lorg/springframework/http/MediaType;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
main
defaultType
private boolean isStreamingMediaType(org.springframework.http.MediaType);
descriptor: (Lorg/springframework/http/MediaType;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 5
aload 0
getfield org.springframework.http.codec.EncoderHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
instanceof org.springframework.http.codec.HttpMessageEncoder
ifeq 5
1: aload 0
getfield org.springframework.http.codec.EncoderHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
checkcast org.springframework.http.codec.HttpMessageEncoder
invokeinterface org.springframework.http.codec.HttpMessageEncoder.getStreamingMediaTypes:()Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
2: aload 1
invokedynamic test(Lorg/springframework/http/MediaType;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/springframework/http/codec/EncoderHttpMessageWriter.lambda$4(Lorg/springframework/http/MediaType;Lorg/springframework/http/MediaType;)Z (6)
(Lorg/springframework/http/MediaType;)Z
invokeinterface java.util.stream.Stream.anyMatch:(Ljava/util/function/Predicate;)Z
3: ifeq 5
4: iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/http/codec/EncoderHttpMessageWriter<TT;>;
0 6 1 contentType Lorg/springframework/http/MediaType;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
contentType
public reactor.core.publisher.Mono<java.lang.Void> write(org.reactivestreams.Publisher<? extends T>, org.springframework.core.ResolvableType, org.springframework.core.ResolvableType, org.springframework.http.MediaType, org.springframework.http.server.reactive.ServerHttpRequest, org.springframework.http.server.reactive.ServerHttpResponse, java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Lorg/reactivestreams/Publisher;Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;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=7, locals=9, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 7
1: aload 0
aload 2
aload 3
aload 4
aload 5
aload 6
invokevirtual org.springframework.http.codec.EncoderHttpMessageWriter.getWriteHints:(Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;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 8
start local 8 3: aload 0
aload 1
aload 3
aload 4
aload 6
aload 8
invokevirtual org.springframework.http.codec.EncoderHttpMessageWriter.write:(Lorg/reactivestreams/Publisher;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/ReactiveHttpOutputMessage;Ljava/util/Map;)Lreactor/core/publisher/Mono;
areturn
end local 8 end local 7 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/EncoderHttpMessageWriter<TT;>;
0 4 1 inputStream Lorg/reactivestreams/Publisher<+TT;>;
0 4 2 actualType Lorg/springframework/core/ResolvableType;
0 4 3 elementType Lorg/springframework/core/ResolvableType;
0 4 4 mediaType Lorg/springframework/http/MediaType;
0 4 5 request Lorg/springframework/http/server/reactive/ServerHttpRequest;
0 4 6 response Lorg/springframework/http/server/reactive/ServerHttpResponse;
0 4 7 hints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
3 4 8 allHints Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
Signature: (Lorg/reactivestreams/Publisher<+TT;>;Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;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<Ljava/lang/Void;>;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
3:
org.springframework.lang.Nullable()
4:
5:
6:
MethodParameters:
Name Flags
inputStream
actualType
elementType
mediaType
request
response
hints
protected java.util.Map<java.lang.String, java.lang.Object> getWriteHints(org.springframework.core.ResolvableType, org.springframework.core.ResolvableType, org.springframework.http.MediaType, org.springframework.http.server.reactive.ServerHttpRequest, org.springframework.http.server.reactive.ServerHttpResponse);
descriptor: (Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;)Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
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 0
getfield org.springframework.http.codec.EncoderHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
instanceof org.springframework.http.codec.HttpMessageEncoder
ifeq 3
1: aload 0
getfield org.springframework.http.codec.EncoderHttpMessageWriter.encoder:Lorg/springframework/core/codec/Encoder;
checkcast org.springframework.http.codec.HttpMessageEncoder
astore 6
start local 6 2: aload 6
aload 1
aload 2
aload 3
aload 4
aload 5
invokeinterface org.springframework.http.codec.HttpMessageEncoder.getEncodeHints:(Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;)Ljava/util/Map;
areturn
end local 6 3: StackMap locals:
StackMap stack:
invokestatic org.springframework.core.codec.Hints.none:()Ljava/util/Map;
areturn
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/EncoderHttpMessageWriter<TT;>;
0 4 1 streamType Lorg/springframework/core/ResolvableType;
0 4 2 elementType Lorg/springframework/core/ResolvableType;
0 4 3 mediaType Lorg/springframework/http/MediaType;
0 4 4 request Lorg/springframework/http/server/reactive/ServerHttpRequest;
0 4 5 response Lorg/springframework/http/server/reactive/ServerHttpResponse;
2 3 6 encoder Lorg/springframework/http/codec/HttpMessageEncoder<*>;
Signature: (Lorg/springframework/core/ResolvableType;Lorg/springframework/core/ResolvableType;Lorg/springframework/http/MediaType;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lorg/springframework/http/server/reactive/ServerHttpResponse;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
3:
4:
MethodParameters:
Name Flags
streamType
elementType
mediaType
request
response
private static reactor.core.publisher.Mono (org.springframework.http.HttpHeaders, org.springframework.http.ReactiveHttpOutputMessage);
descriptor: (Lorg/springframework/http/HttpHeaders;Lorg/springframework/http/ReactiveHttpOutputMessage;)Lreactor/core/publisher/Mono;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
0: aload 0
lconst_0
invokevirtual org.springframework.http.HttpHeaders.setContentLength:(J)V
1: aload 1
invokeinterface org.springframework.http.ReactiveHttpOutputMessage.setComplete:()Lreactor/core/publisher/Mono;
invokestatic reactor.core.publisher.Mono.empty:()Lreactor/core/publisher/Mono;
invokevirtual reactor.core.publisher.Mono.then:(Lreactor/core/publisher/Mono;)Lreactor/core/publisher/Mono;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static reactor.core.publisher.Mono (org.springframework.http.HttpHeaders, org.springframework.http.ReactiveHttpOutputMessage, org.springframework.core.io.buffer.DataBuffer);
descriptor: (Lorg/springframework/http/HttpHeaders;Lorg/springframework/http/ReactiveHttpOutputMessage;Lorg/springframework/core/io/buffer/DataBuffer;)Lreactor/core/publisher/Mono;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 2 0: aload 0
aload 2
invokeinterface org.springframework.core.io.buffer.DataBuffer.readableByteCount:()I
i2l
invokevirtual org.springframework.http.HttpHeaders.setContentLength:(J)V
1: aload 1
aload 2
invokestatic reactor.core.publisher.Mono.just:(Ljava/lang/Object;)Lreactor/core/publisher/Mono;
invokeinterface org.springframework.http.ReactiveHttpOutputMessage.writeWith:(Lorg/reactivestreams/Publisher;)Lreactor/core/publisher/Mono;
areturn
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 2 2 buffer Lorg/springframework/core/io/buffer/DataBuffer;
private static boolean lambda$4(org.springframework.http.MediaType, org.springframework.http.MediaType);
descriptor: (Lorg/springframework/http/MediaType;Lorg/springframework/http/MediaType;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokevirtual org.springframework.http.MediaType.isCompatibleWith:(Lorg/springframework/http/MediaType;)Z
ifeq 2
1: aload 0
invokevirtual org.springframework.http.MediaType.getParameters:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
aload 1
invokevirtual org.springframework.http.MediaType.getParameters:()Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
ifeq 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 streamingMediaType Lorg/springframework/http/MediaType;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/springframework/http/codec/HttpMessageWriter<TT;>;
SourceFile: "EncoderHttpMessageWriter.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map