public abstract class org.springframework.http.converter.AbstractGenericHttpMessageConverter<T> extends org.springframework.http.converter.AbstractHttpMessageConverter<T> implements org.springframework.http.converter.GenericHttpMessageConverter<T>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.http.converter.AbstractGenericHttpMessageConverter
super_class: org.springframework.http.converter.AbstractHttpMessageConverter
{
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.http.converter.AbstractHttpMessageConverter.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter<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
aload 1
invokespecial org.springframework.http.converter.AbstractHttpMessageConverter.<init>:(Lorg/springframework/http/MediaType;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter<TT;>;
0 2 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
aload 1
invokespecial org.springframework.http.converter.AbstractHttpMessageConverter.<init>:([Lorg/springframework/http/MediaType;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter<TT;>;
0 2 1 supportedMediaTypes [Lorg/springframework/http/MediaType;
MethodParameters:
Name Flags
supportedMediaTypes
protected boolean supports(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter<TT;>;
0 1 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
clazz
public boolean canRead(java.lang.reflect.Type, java.lang.Class<?>, org.springframework.http.MediaType);
descriptor: (Ljava/lang/reflect/Type;Ljava/lang/Class;Lorg/springframework/http/MediaType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof java.lang.Class
ifeq 1
aload 0
aload 1
checkcast java.lang.Class
aload 3
invokevirtual org.springframework.http.converter.AbstractGenericHttpMessageConverter.canRead:(Ljava/lang/Class;Lorg/springframework/http/MediaType;)Z
goto 2
StackMap locals:
StackMap stack:
1: aload 0
aload 3
invokevirtual org.springframework.http.converter.AbstractGenericHttpMessageConverter.canRead:(Lorg/springframework/http/MediaType;)Z
StackMap locals:
StackMap stack: int
2: ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter<TT;>;
0 3 1 type Ljava/lang/reflect/Type;
0 3 2 contextClass Ljava/lang/Class<*>;
0 3 3 mediaType Lorg/springframework/http/MediaType;
Signature: (Ljava/lang/reflect/Type;Ljava/lang/Class<*>;Lorg/springframework/http/MediaType;)Z
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
type
contextClass
mediaType
public boolean canWrite(java.lang.reflect.Type, java.lang.Class<?>, org.springframework.http.MediaType);
descriptor: (Ljava/lang/reflect/Type;Ljava/lang/Class;Lorg/springframework/http/MediaType;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 3
invokevirtual org.springframework.http.converter.AbstractGenericHttpMessageConverter.canWrite:(Ljava/lang/Class;Lorg/springframework/http/MediaType;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter<TT;>;
0 1 1 type Ljava/lang/reflect/Type;
0 1 2 clazz Ljava/lang/Class<*>;
0 1 3 mediaType Lorg/springframework/http/MediaType;
Signature: (Ljava/lang/reflect/Type;Ljava/lang/Class<*>;Lorg/springframework/http/MediaType;)Z
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
type
clazz
mediaType
public final void write(T, java.lang.reflect.Type, org.springframework.http.MediaType, org.springframework.http.HttpOutputMessage);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Type;Lorg/springframework/http/MediaType;Lorg/springframework/http/HttpOutputMessage;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokeinterface org.springframework.http.HttpOutputMessage.getHeaders:()Lorg/springframework/http/HttpHeaders;
astore 5
start local 5 1: aload 0
aload 5
aload 1
aload 3
invokevirtual org.springframework.http.converter.AbstractGenericHttpMessageConverter.addDefaultHeaders:(Lorg/springframework/http/HttpHeaders;Ljava/lang/Object;Lorg/springframework/http/MediaType;)V
2: aload 4
instanceof org.springframework.http.StreamingHttpOutputMessage
ifeq 6
3: aload 4
checkcast org.springframework.http.StreamingHttpOutputMessage
astore 6
start local 6 4: aload 6
aload 0
aload 1
aload 2
aload 5
invokedynamic writeTo(Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter;Ljava/lang/Object;Ljava/lang/reflect/Type;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/AbstractGenericHttpMessageConverter.lambda$0(Ljava/lang/Object;Ljava/lang/reflect/Type;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 6 5: goto 8
6: StackMap locals: org.springframework.http.HttpHeaders
StackMap stack:
aload 0
aload 1
aload 2
aload 4
invokevirtual org.springframework.http.converter.AbstractGenericHttpMessageConverter.writeInternal:(Ljava/lang/Object;Ljava/lang/reflect/Type;Lorg/springframework/http/HttpOutputMessage;)V
7: aload 4
invokeinterface org.springframework.http.HttpOutputMessage.getBody:()Ljava/io/OutputStream;
invokevirtual java.io.OutputStream.flush:()V
8: StackMap locals:
StackMap stack:
return
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 9 0 this Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter<TT;>;
0 9 1 t TT;
0 9 2 type Ljava/lang/reflect/Type;
0 9 3 contentType Lorg/springframework/http/MediaType;
0 9 4 outputMessage Lorg/springframework/http/HttpOutputMessage;
1 9 5 headers Lorg/springframework/http/HttpHeaders;
4 5 6 streamingOutputMessage Lorg/springframework/http/StreamingHttpOutputMessage;
Exceptions:
throws java.io.IOException, org.springframework.http.converter.HttpMessageNotWritableException
Signature: (TT;Ljava/lang/reflect/Type;Lorg/springframework/http/MediaType;Lorg/springframework/http/HttpOutputMessage;)V
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
3:
MethodParameters:
Name Flags
t final
type final
contentType
outputMessage
protected void writeInternal(T, org.springframework.http.HttpOutputMessage);
descriptor: (Ljava/lang/Object;Lorg/springframework/http/HttpOutputMessage;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
aload 2
invokevirtual org.springframework.http.converter.AbstractGenericHttpMessageConverter.writeInternal:(Ljava/lang/Object;Ljava/lang/reflect/Type;Lorg/springframework/http/HttpOutputMessage;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter<TT;>;
0 2 1 t TT;
0 2 2 outputMessage Lorg/springframework/http/HttpOutputMessage;
Exceptions:
throws java.io.IOException, org.springframework.http.converter.HttpMessageNotWritableException
Signature: (TT;Lorg/springframework/http/HttpOutputMessage;)V
MethodParameters:
Name Flags
t
outputMessage
protected abstract void writeInternal(T, java.lang.reflect.Type, org.springframework.http.HttpOutputMessage);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Type;Lorg/springframework/http/HttpOutputMessage;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException, org.springframework.http.converter.HttpMessageNotWritableException
Signature: (TT;Ljava/lang/reflect/Type;Lorg/springframework/http/HttpOutputMessage;)V
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
t
type
outputMessage
private void (java.lang.Object, java.lang.reflect.Type, org.springframework.http.HttpHeaders, java.io.OutputStream);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Type;Lorg/springframework/http/HttpHeaders;Ljava/io/OutputStream;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=8, locals=5, args_size=5
start local 0 start local 4 0: aload 0
aload 1
aload 2
new org.springframework.http.converter.AbstractGenericHttpMessageConverter$1
dup
aload 0
aload 4
aload 3
invokespecial org.springframework.http.converter.AbstractGenericHttpMessageConverter$1.<init>:(Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter;Ljava/io/OutputStream;Lorg/springframework/http/HttpHeaders;)V
invokevirtual org.springframework.http.converter.AbstractGenericHttpMessageConverter.writeInternal:(Ljava/lang/Object;Ljava/lang/reflect/Type;Lorg/springframework/http/HttpOutputMessage;)V
1: return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter<TT;>;
0 2 4 outputStream Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
}
Signature: <T:Ljava/lang/Object;>Lorg/springframework/http/converter/AbstractHttpMessageConverter<TT;>;Lorg/springframework/http/converter/GenericHttpMessageConverter<TT;>;
SourceFile: "AbstractGenericHttpMessageConverter.java"
NestMembers:
org.springframework.http.converter.AbstractGenericHttpMessageConverter$1 org.springframework.http.converter.AbstractGenericHttpMessageConverter$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.AbstractGenericHttpMessageConverter$1