public abstract class org.springframework.http.converter.AbstractHttpMessageConverter<T> implements org.springframework.http.converter.HttpMessageConverter<T>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.http.converter.AbstractHttpMessageConverter
super_class: java.lang.Object
{
protected final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private java.util.List<org.springframework.http.MediaType> supportedMediaTypes;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lorg/springframework/http/MediaType;>;
private java.nio.charset.Charset defaultCharset;
descriptor: Ljava/nio/charset/Charset;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.http.HttpLogging.forLogName:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putfield org.springframework.http.converter.AbstractHttpMessageConverter.logger:Lorg/apache/commons/logging/Log;
2: aload 0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield org.springframework.http.converter.AbstractHttpMessageConverter.supportedMediaTypes:Ljava/util/List;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
protected void <init>(org.springframework.http.MediaType);
descriptor: (Lorg/springframework/http/MediaType;)V
flags: (0x0004) ACC_PROTECTED
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 0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.http.HttpLogging.forLogName:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putfield org.springframework.http.converter.AbstractHttpMessageConverter.logger:Lorg/apache/commons/logging/Log;
2: aload 0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield org.springframework.http.converter.AbstractHttpMessageConverter.supportedMediaTypes:Ljava/util/List;
3: aload 0
aload 1
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.setSupportedMediaTypes:(Ljava/util/List;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 5 1 supportedMediaType Lorg/springframework/http/MediaType;
MethodParameters:
Name Flags
supportedMediaType
protected void <init>(org.springframework.http.MediaType[]);
descriptor: ([Lorg/springframework/http/MediaType;)V
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
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 0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.http.HttpLogging.forLogName:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putfield org.springframework.http.converter.AbstractHttpMessageConverter.logger:Lorg/apache/commons/logging/Log;
2: aload 0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield org.springframework.http.converter.AbstractHttpMessageConverter.supportedMediaTypes:Ljava/util/List;
3: aload 0
aload 1
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.setSupportedMediaTypes:(Ljava/util/List;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 5 1 supportedMediaTypes [Lorg/springframework/http/MediaType;
MethodParameters:
Name Flags
supportedMediaTypes
protected void <init>(java.nio.charset.Charset, org.springframework.http.MediaType[]);
descriptor: (Ljava/nio/charset/Charset;[Lorg/springframework/http/MediaType;)V
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.http.HttpLogging.forLogName:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putfield org.springframework.http.converter.AbstractHttpMessageConverter.logger:Lorg/apache/commons/logging/Log;
2: aload 0
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
putfield org.springframework.http.converter.AbstractHttpMessageConverter.supportedMediaTypes:Ljava/util/List;
3: aload 0
aload 1
putfield org.springframework.http.converter.AbstractHttpMessageConverter.defaultCharset:Ljava/nio/charset/Charset;
4: aload 0
aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.setSupportedMediaTypes:(Ljava/util/List;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 6 1 defaultCharset Ljava/nio/charset/Charset;
0 6 2 supportedMediaTypes [Lorg/springframework/http/MediaType;
MethodParameters:
Name Flags
defaultCharset
supportedMediaTypes
public void setSupportedMediaTypes(java.util.List<org.springframework.http.MediaType>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "MediaType List must not be empty"
invokestatic org.springframework.util.Assert.notEmpty:(Ljava/util/Collection;Ljava/lang/String;)V
1: aload 0
new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield org.springframework.http.converter.AbstractHttpMessageConverter.supportedMediaTypes:Ljava/util/List;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 3 1 supportedMediaTypes Ljava/util/List<Lorg/springframework/http/MediaType;>;
Signature: (Ljava/util/List<Lorg/springframework/http/MediaType;>;)V
MethodParameters:
Name Flags
supportedMediaTypes
public java.util.List<org.springframework.http.MediaType> getSupportedMediaTypes();
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.converter.AbstractHttpMessageConverter.supportedMediaTypes:Ljava/util/List;
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
Signature: ()Ljava/util/List<Lorg/springframework/http/MediaType;>;
public void setDefaultCharset(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.http.converter.AbstractHttpMessageConverter.defaultCharset:Ljava/nio/charset/Charset;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 2 1 defaultCharset Ljava/nio/charset/Charset;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
defaultCharset
public java.nio.charset.Charset getDefaultCharset();
descriptor: ()Ljava/nio/charset/Charset;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.http.converter.AbstractHttpMessageConverter.defaultCharset:Ljava/nio/charset/Charset;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public boolean canRead(java.lang.Class<?>, org.springframework.http.MediaType);
descriptor: (Ljava/lang/Class;Lorg/springframework/http/MediaType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.supports:(Ljava/lang/Class;)Z
ifeq 1
aload 0
aload 2
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.canRead:(Lorg/springframework/http/MediaType;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 2 1 clazz Ljava/lang/Class<*>;
0 2 2 mediaType Lorg/springframework/http/MediaType;
Signature: (Ljava/lang/Class<*>;Lorg/springframework/http/MediaType;)Z
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
mediaType
protected boolean canRead(org.springframework.http.MediaType);
descriptor: (Lorg/springframework/http/MediaType;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.getSupportedMediaTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: org.springframework.http.converter.AbstractHttpMessageConverter org.springframework.http.MediaType top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.http.MediaType
astore 2
start local 2 4: aload 2
aload 1
invokevirtual org.springframework.http.MediaType.includes:(Lorg/springframework/http/MediaType;)Z
ifeq 6
5: iconst_1
ireturn
end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 8 1 mediaType Lorg/springframework/http/MediaType;
4 6 2 supportedMediaType Lorg/springframework/http/MediaType;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
mediaType
public boolean canWrite(java.lang.Class<?>, org.springframework.http.MediaType);
descriptor: (Ljava/lang/Class;Lorg/springframework/http/MediaType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.supports:(Ljava/lang/Class;)Z
ifeq 1
aload 0
aload 2
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.canWrite:(Lorg/springframework/http/MediaType;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 2 1 clazz Ljava/lang/Class<*>;
0 2 2 mediaType Lorg/springframework/http/MediaType;
Signature: (Ljava/lang/Class<*>;Lorg/springframework/http/MediaType;)Z
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
clazz
mediaType
protected boolean canWrite(org.springframework.http.MediaType);
descriptor: (Lorg/springframework/http/MediaType;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
getstatic org.springframework.http.MediaType.ALL:Lorg/springframework/http/MediaType;
aload 1
invokevirtual org.springframework.http.MediaType.equalsTypeAndSubtype:(Lorg/springframework/util/MimeType;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.getSupportedMediaTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: org.springframework.http.converter.AbstractHttpMessageConverter org.springframework.http.MediaType top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.http.MediaType
astore 2
start local 2 4: aload 2
aload 1
invokevirtual org.springframework.http.MediaType.isCompatibleWith:(Lorg/springframework/http/MediaType;)Z
ifeq 6
5: iconst_1
ireturn
end local 2 6: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 8 1 mediaType Lorg/springframework/http/MediaType;
4 6 2 supportedMediaType Lorg/springframework/http/MediaType;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
mediaType
public final T read(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage);
descriptor: (Ljava/lang/Class;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.readInternal:(Ljava/lang/Class;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 1 1 clazz Ljava/lang/Class<+TT;>;
0 1 2 inputMessage Lorg/springframework/http/HttpInputMessage;
Exceptions:
throws java.io.IOException, org.springframework.http.converter.HttpMessageNotReadableException
Signature: (Ljava/lang/Class<+TT;>;Lorg/springframework/http/HttpInputMessage;)TT;
MethodParameters:
Name Flags
clazz
inputMessage
public final void write(T, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage);
descriptor: (Ljava/lang/Object;Lorg/springframework/http/MediaType;Lorg/springframework/http/HttpOutputMessage;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokeinterface org.springframework.http.HttpOutputMessage.getHeaders:()Lorg/springframework/http/HttpHeaders;
astore 4
start local 4 1: aload 0
aload 4
aload 1
aload 2
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.addDefaultHeaders:(Lorg/springframework/http/HttpHeaders;Ljava/lang/Object;Lorg/springframework/http/MediaType;)V
2: aload 3
instanceof org.springframework.http.StreamingHttpOutputMessage
ifeq 6
3: aload 3
checkcast org.springframework.http.StreamingHttpOutputMessage
astore 5
start local 5 4: aload 5
aload 0
aload 1
aload 4
invokedynamic writeTo(Lorg/springframework/http/converter/AbstractHttpMessageConverter;Ljava/lang/Object;Lorg/springframework/http/HttpHeaders;)Lorg/springframework/http/StreamingHttpOutputMessage$Body;
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/io/OutputStream;)V
org/springframework/http/converter/AbstractHttpMessageConverter.lambda$0(Ljava/lang/Object;Lorg/springframework/http/HttpHeaders;Ljava/io/OutputStream;)V (7)
(Ljava/io/OutputStream;)V
invokeinterface org.springframework.http.StreamingHttpOutputMessage.setBody:(Lorg/springframework/http/StreamingHttpOutputMessage$Body;)V
end local 5 5: goto 8
6: StackMap locals: org.springframework.http.HttpHeaders
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.writeInternal:(Ljava/lang/Object;Lorg/springframework/http/HttpOutputMessage;)V
7: aload 3
invokeinterface org.springframework.http.HttpOutputMessage.getBody:()Ljava/io/OutputStream;
invokevirtual java.io.OutputStream.flush:()V
8: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 9 1 t TT;
0 9 2 contentType Lorg/springframework/http/MediaType;
0 9 3 outputMessage Lorg/springframework/http/HttpOutputMessage;
1 9 4 headers Lorg/springframework/http/HttpHeaders;
4 5 5 streamingOutputMessage Lorg/springframework/http/StreamingHttpOutputMessage;
Exceptions:
throws java.io.IOException, org.springframework.http.converter.HttpMessageNotWritableException
Signature: (TT;Lorg/springframework/http/MediaType;Lorg/springframework/http/HttpOutputMessage;)V
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
t final
contentType
outputMessage
protected void addDefaultHeaders(org.springframework.http.HttpHeaders, T, org.springframework.http.MediaType);
descriptor: (Lorg/springframework/http/HttpHeaders;Ljava/lang/Object;Lorg/springframework/http/MediaType;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.springframework.http.HttpHeaders.getContentType:()Lorg/springframework/http/MediaType;
ifnonnull 16
1: aload 3
astore 4
start local 4 2: aload 3
ifnull 3
aload 3
invokevirtual org.springframework.http.MediaType.isWildcardType:()Z
ifne 3
aload 3
invokevirtual org.springframework.http.MediaType.isWildcardSubtype:()Z
ifeq 5
3: StackMap locals: org.springframework.http.MediaType
StackMap stack:
aload 0
aload 2
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.getDefaultContentType:(Ljava/lang/Object;)Lorg/springframework/http/MediaType;
astore 4
4: goto 10
5: StackMap locals:
StackMap stack:
getstatic org.springframework.http.MediaType.APPLICATION_OCTET_STREAM:Lorg/springframework/http/MediaType;
aload 3
invokevirtual org.springframework.http.MediaType.equals:(Ljava/lang/Object;)Z
ifeq 10
6: aload 0
aload 2
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.getDefaultContentType:(Ljava/lang/Object;)Lorg/springframework/http/MediaType;
astore 5
start local 5 7: aload 5
ifnull 8
aload 5
goto 9
StackMap locals: org.springframework.http.MediaType
StackMap stack:
8: aload 4
StackMap locals:
StackMap stack: org.springframework.http.MediaType
9: astore 4
end local 5 10: StackMap locals:
StackMap stack:
aload 4
ifnull 16
11: aload 4
invokevirtual org.springframework.http.MediaType.getCharset:()Ljava/nio/charset/Charset;
ifnonnull 15
12: aload 0
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.getDefaultCharset:()Ljava/nio/charset/Charset;
astore 5
start local 5 13: aload 5
ifnull 15
14: new org.springframework.http.MediaType
dup
aload 4
aload 5
invokespecial org.springframework.http.MediaType.<init>:(Lorg/springframework/http/MediaType;Ljava/nio/charset/Charset;)V
astore 4
end local 5 15: StackMap locals:
StackMap stack:
aload 1
aload 4
invokevirtual org.springframework.http.HttpHeaders.setContentType:(Lorg/springframework/http/MediaType;)V
end local 4 16: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.springframework.http.HttpHeaders.getContentLength:()J
lconst_0
lcmp
ifge 20
aload 1
ldc "Transfer-Encoding"
invokevirtual org.springframework.http.HttpHeaders.containsKey:(Ljava/lang/Object;)Z
ifne 20
17: aload 0
aload 2
aload 1
invokevirtual org.springframework.http.HttpHeaders.getContentType:()Lorg/springframework/http/MediaType;
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.getContentLength:(Ljava/lang/Object;Lorg/springframework/http/MediaType;)Ljava/lang/Long;
astore 4
start local 4 18: aload 4
ifnull 20
19: aload 1
aload 4
invokevirtual java.lang.Long.longValue:()J
invokevirtual org.springframework.http.HttpHeaders.setContentLength:(J)V
end local 4 20: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 21 1 headers Lorg/springframework/http/HttpHeaders;
0 21 2 t TT;
0 21 3 contentType Lorg/springframework/http/MediaType;
2 16 4 contentTypeToUse Lorg/springframework/http/MediaType;
7 10 5 mediaType Lorg/springframework/http/MediaType;
13 15 5 defaultCharset Ljava/nio/charset/Charset;
18 20 4 contentLength Ljava/lang/Long;
Exceptions:
throws java.io.IOException
Signature: (Lorg/springframework/http/HttpHeaders;TT;Lorg/springframework/http/MediaType;)V
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
headers
t
contentType
protected org.springframework.http.MediaType getDefaultContentType(T);
descriptor: (Ljava/lang/Object;)Lorg/springframework/http/MediaType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.getSupportedMediaTypes:()Ljava/util/List;
astore 2
start local 2 1: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifne 2
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.springframework.http.MediaType
goto 3
StackMap locals: java.util.List
StackMap stack:
2: aconst_null
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/converter/AbstractHttpMessageConverter<TT;>;
0 4 1 t TT;
1 4 2 mediaTypes Ljava/util/List<Lorg/springframework/http/MediaType;>;
Exceptions:
throws java.io.IOException
Signature: (TT;)Lorg/springframework/http/MediaType;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
t
protected java.lang.Long getContentLength(T, org.springframework.http.MediaType);
descriptor: (Ljava/lang/Object;Lorg/springframework/http/MediaType;)Ljava/lang/Long;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 1 1 t TT;
0 1 2 contentType Lorg/springframework/http/MediaType;
Exceptions:
throws java.io.IOException
Signature: (TT;Lorg/springframework/http/MediaType;)Ljava/lang/Long;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
t
contentType
protected abstract boolean supports(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
protected abstract T readInternal(java.lang.Class<? extends T>, org.springframework.http.HttpInputMessage);
descriptor: (Ljava/lang/Class;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException, org.springframework.http.converter.HttpMessageNotReadableException
Signature: (Ljava/lang/Class<+TT;>;Lorg/springframework/http/HttpInputMessage;)TT;
MethodParameters:
Name Flags
clazz
inputMessage
protected abstract void writeInternal(T, org.springframework.http.HttpOutputMessage);
descriptor: (Ljava/lang/Object;Lorg/springframework/http/HttpOutputMessage;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException, org.springframework.http.converter.HttpMessageNotWritableException
Signature: (TT;Lorg/springframework/http/HttpOutputMessage;)V
MethodParameters:
Name Flags
t
outputMessage
private void (java.lang.Object, org.springframework.http.HttpHeaders, java.io.OutputStream);
descriptor: (Ljava/lang/Object;Lorg/springframework/http/HttpHeaders;Ljava/io/OutputStream;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 3 0: aload 0
aload 1
new org.springframework.http.converter.AbstractHttpMessageConverter$1
dup
aload 0
aload 3
aload 2
invokespecial org.springframework.http.converter.AbstractHttpMessageConverter$1.<init>:(Lorg/springframework/http/converter/AbstractHttpMessageConverter;Ljava/io/OutputStream;Lorg/springframework/http/HttpHeaders;)V
invokevirtual org.springframework.http.converter.AbstractHttpMessageConverter.writeInternal:(Ljava/lang/Object;Lorg/springframework/http/HttpOutputMessage;)V
1: return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;
0 2 3 outputStream Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/springframework/http/converter/HttpMessageConverter<TT;>;
SourceFile: "AbstractHttpMessageConverter.java"
NestMembers:
org.springframework.http.converter.AbstractHttpMessageConverter$1 org.springframework.http.converter.AbstractHttpMessageConverter$2
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Body = org.springframework.http.StreamingHttpOutputMessage$Body of org.springframework.http.StreamingHttpOutputMessage
org.springframework.http.converter.AbstractHttpMessageConverter$1