public class org.springframework.http.converter.ResourceRegionHttpMessageConverter extends org.springframework.http.converter.AbstractGenericHttpMessageConverter<java.lang.Object>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.http.converter.ResourceRegionHttpMessageConverter
super_class: org.springframework.http.converter.AbstractGenericHttpMessageConverter
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.springframework.http.MediaType.ALL:Lorg/springframework/http/MediaType;
invokespecial org.springframework.http.converter.AbstractGenericHttpMessageConverter.<init>:(Lorg/springframework/http/MediaType;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
protected org.springframework.http.MediaType getDefaultContentType(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/springframework/http/MediaType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
instanceof org.springframework.core.io.support.ResourceRegion
ifeq 4
2: aload 1
checkcast org.springframework.core.io.support.ResourceRegion
invokevirtual org.springframework.core.io.support.ResourceRegion.getResource:()Lorg/springframework/core/io/Resource;
astore 2
3: goto 7
4: StackMap locals: org.springframework.core.io.Resource
StackMap stack:
aload 1
checkcast java.util.Collection
astore 3
start local 3 5: aload 3
invokeinterface java.util.Collection.isEmpty:()Z
ifne 7
6: aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.core.io.support.ResourceRegion
invokevirtual org.springframework.core.io.support.ResourceRegion.getResource:()Lorg/springframework/core/io/Resource;
astore 2
end local 3 7: StackMap locals:
StackMap stack:
aload 2
invokestatic org.springframework.http.MediaTypeFactory.getMediaType:(Lorg/springframework/core/io/Resource;)Ljava/util/Optional;
getstatic org.springframework.http.MediaType.APPLICATION_OCTET_STREAM:Lorg/springframework/http/MediaType;
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.http.MediaType
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
0 8 1 object Ljava/lang/Object;
1 8 2 resource Lorg/springframework/core/io/Resource;
5 7 3 regions Ljava/util/Collection<Lorg/springframework/core/io/support/ResourceRegion;>;
MethodParameters:
Name Flags
object
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=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
0 1 1 clazz Ljava/lang/Class<*>;
0 1 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
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=1, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
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/ResourceRegionHttpMessageConverter;
0 1 1 type Ljava/lang/reflect/Type;
0 1 2 contextClass 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:
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
type
contextClass
mediaType
public read(java.lang.reflect.Type, java.lang.Class<?>, org.springframework.http.HttpInputMessage);
descriptor: (Ljava/lang/reflect/Type;Ljava/lang/Class;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
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/ResourceRegionHttpMessageConverter;
0 1 1 type Ljava/lang/reflect/Type;
0 1 2 contextClass Ljava/lang/Class<*>;
0 1 3 inputMessage Lorg/springframework/http/HttpInputMessage;
Exceptions:
throws java.io.IOException, org.springframework.http.converter.HttpMessageNotReadableException
Signature: (Ljava/lang/reflect/Type;Ljava/lang/Class<*>;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
type
contextClass
inputMessage
protected org.springframework.core.io.support.ResourceRegion readInternal(java.lang.Class<?>, org.springframework.http.HttpInputMessage);
descriptor: (Ljava/lang/Class;Lorg/springframework/http/HttpInputMessage;)Lorg/springframework/core/io/support/ResourceRegion;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
0 1 1 clazz Ljava/lang/Class<*>;
0 1 2 inputMessage Lorg/springframework/http/HttpInputMessage;
Exceptions:
throws java.io.IOException, org.springframework.http.converter.HttpMessageNotReadableException
Signature: (Ljava/lang/Class<*>;Lorg/springframework/http/HttpInputMessage;)Lorg/springframework/core/io/support/ResourceRegion;
MethodParameters:
Name Flags
clazz
inputMessage
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=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.ResourceRegionHttpMessageConverter.canWrite:(Ljava/lang/reflect/Type;Ljava/lang/Class;Lorg/springframework/http/MediaType;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
0 1 1 clazz Ljava/lang/Class<*>;
0 1 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
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=2, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof java.lang.reflect.ParameterizedType
ifne 3
1: aload 1
instanceof java.lang.Class
ifeq 2
ldc Lorg/springframework/core/io/support/ResourceRegion;
aload 1
checkcast java.lang.Class
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
checkcast java.lang.reflect.ParameterizedType
astore 4
start local 4 4: aload 4
invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
instanceof java.lang.Class
ifne 6
5: iconst_0
ireturn
6: StackMap locals: java.lang.reflect.ParameterizedType
StackMap stack:
aload 4
invokeinterface java.lang.reflect.ParameterizedType.getRawType:()Ljava/lang/reflect/Type;
checkcast java.lang.Class
astore 5
start local 5 7: ldc Ljava/util/Collection;
aload 5
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 9
8: iconst_0
ireturn
9: StackMap locals: java.lang.Class
StackMap stack:
aload 4
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
arraylength
iconst_1
if_icmpeq 11
10: iconst_0
ireturn
11: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.lang.reflect.ParameterizedType.getActualTypeArguments:()[Ljava/lang/reflect/Type;
iconst_0
aaload
astore 6
start local 6 12: aload 6
instanceof java.lang.Class
ifne 14
13: iconst_0
ireturn
14: StackMap locals: java.lang.reflect.Type
StackMap stack:
aload 6
checkcast java.lang.Class
astore 7
start local 7 15: ldc Lorg/springframework/core/io/support/ResourceRegion;
aload 7
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ireturn
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 16 0 this Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
0 16 1 type Ljava/lang/reflect/Type;
0 16 2 clazz Ljava/lang/Class<*>;
0 16 3 mediaType Lorg/springframework/http/MediaType;
4 16 4 parameterizedType Ljava/lang/reflect/ParameterizedType;
7 16 5 rawType Ljava/lang/Class<*>;
12 16 6 typeArgument Ljava/lang/reflect/Type;
15 16 7 typeArgumentClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/reflect/Type;Ljava/lang/Class<*>;Lorg/springframework/http/MediaType;)Z
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
2:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
type
clazz
mediaType
protected void writeInternal(java.lang.Object, java.lang.reflect.Type, org.springframework.http.HttpOutputMessage);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Type;Lorg/springframework/http/HttpOutputMessage;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof org.springframework.core.io.support.ResourceRegion
ifeq 3
1: aload 0
aload 1
checkcast org.springframework.core.io.support.ResourceRegion
aload 3
invokevirtual org.springframework.http.converter.ResourceRegionHttpMessageConverter.writeResourceRegion:(Lorg/springframework/core/io/support/ResourceRegion;Lorg/springframework/http/HttpOutputMessage;)V
2: goto 8
3: StackMap locals:
StackMap stack:
aload 1
checkcast java.util.Collection
astore 4
start local 4 4: aload 4
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmpne 7
5: aload 0
aload 4
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.core.io.support.ResourceRegion
aload 3
invokevirtual org.springframework.http.converter.ResourceRegionHttpMessageConverter.writeResourceRegion:(Lorg/springframework/core/io/support/ResourceRegion;Lorg/springframework/http/HttpOutputMessage;)V
6: goto 8
7: StackMap locals: java.util.Collection
StackMap stack:
aload 0
aload 1
checkcast java.util.Collection
aload 3
invokevirtual org.springframework.http.converter.ResourceRegionHttpMessageConverter.writeResourceRegionCollection:(Ljava/util/Collection;Lorg/springframework/http/HttpOutputMessage;)V
end local 4 8: StackMap locals:
StackMap stack:
return
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/ResourceRegionHttpMessageConverter;
0 9 1 object Ljava/lang/Object;
0 9 2 type Ljava/lang/reflect/Type;
0 9 3 outputMessage Lorg/springframework/http/HttpOutputMessage;
4 8 4 regions Ljava/util/Collection<Lorg/springframework/core/io/support/ResourceRegion;>;
Exceptions:
throws java.io.IOException, org.springframework.http.converter.HttpMessageNotWritableException
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
2:
MethodParameters:
Name Flags
object
type
outputMessage
protected void writeResourceRegion(org.springframework.core.io.support.ResourceRegion, org.springframework.http.HttpOutputMessage);
descriptor: (Lorg/springframework/core/io/support/ResourceRegion;Lorg/springframework/http/HttpOutputMessage;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "ResourceRegion must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 2
invokeinterface org.springframework.http.HttpOutputMessage.getHeaders:()Lorg/springframework/http/HttpHeaders;
astore 3
start local 3 2: aload 1
invokevirtual org.springframework.core.io.support.ResourceRegion.getPosition:()J
lstore 4
start local 4 3: lload 4
aload 1
invokevirtual org.springframework.core.io.support.ResourceRegion.getCount:()J
ladd
lconst_1
lsub
lstore 6
start local 6 4: aload 1
invokevirtual org.springframework.core.io.support.ResourceRegion.getResource:()Lorg/springframework/core/io/Resource;
invokeinterface org.springframework.core.io.Resource.contentLength:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
astore 8
start local 8 5: lload 6
aload 8
invokevirtual java.lang.Long.longValue:()J
lconst_1
lsub
invokestatic java.lang.Math.min:(JJ)J
lstore 6
6: lload 6
lload 4
lsub
lconst_1
ladd
lstore 9
start local 9 7: aload 3
ldc "Content-Range"
new java.lang.StringBuilder
dup
ldc "bytes "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
lload 6
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.springframework.http.HttpHeaders.add:(Ljava/lang/String;Ljava/lang/String;)V
8: aload 3
lload 9
invokevirtual org.springframework.http.HttpHeaders.setContentLength:(J)V
9: aload 1
invokevirtual org.springframework.core.io.support.ResourceRegion.getResource:()Lorg/springframework/core/io/Resource;
invokeinterface org.springframework.core.io.Resource.getInputStream:()Ljava/io/InputStream;
astore 11
start local 11 10: aload 11
aload 2
invokeinterface org.springframework.http.HttpOutputMessage.getBody:()Ljava/io/OutputStream;
lload 4
lload 6
invokestatic org.springframework.util.StreamUtils.copyRange:(Ljava/io/InputStream;Ljava/io/OutputStream;JJ)J
pop2
11: goto 17
12: StackMap locals: org.springframework.http.converter.ResourceRegionHttpMessageConverter org.springframework.core.io.support.ResourceRegion org.springframework.http.HttpOutputMessage org.springframework.http.HttpHeaders long long java.lang.Long long java.io.InputStream
StackMap stack: java.lang.Throwable
astore 12
13: aload 11
invokevirtual java.io.InputStream.close:()V
14: goto 16
15: StackMap locals: org.springframework.http.converter.ResourceRegionHttpMessageConverter org.springframework.core.io.support.ResourceRegion org.springframework.http.HttpOutputMessage org.springframework.http.HttpHeaders long long java.lang.Long long java.io.InputStream java.lang.Throwable
StackMap stack: java.io.IOException
pop
16: StackMap locals:
StackMap stack:
aload 12
athrow
17: StackMap locals:
StackMap stack:
aload 11
invokevirtual java.io.InputStream.close:()V
18: goto 20
19: StackMap locals:
StackMap stack: java.io.IOException
pop
20: StackMap locals:
StackMap stack:
return
end local 11 end local 9 end local 8 end local 6 end local 4 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/ResourceRegionHttpMessageConverter;
0 21 1 region Lorg/springframework/core/io/support/ResourceRegion;
0 21 2 outputMessage Lorg/springframework/http/HttpOutputMessage;
2 21 3 responseHeaders Lorg/springframework/http/HttpHeaders;
3 21 4 start J
4 21 6 end J
5 21 8 resourceLength Ljava/lang/Long;
7 21 9 rangeLength J
10 21 11 in Ljava/io/InputStream;
Exception table:
from to target type
10 12 12 any
13 14 15 Class java.io.IOException
17 18 19 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
region
outputMessage
private void writeResourceRegionCollection(java.util.Collection<org.springframework.core.io.support.ResourceRegion>, org.springframework.http.HttpOutputMessage);
descriptor: (Ljava/util/Collection;Lorg/springframework/http/HttpOutputMessage;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=16, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "Collection of ResourceRegion should not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 2
invokeinterface org.springframework.http.HttpOutputMessage.getHeaders:()Lorg/springframework/http/HttpHeaders;
astore 3
start local 3 2: aload 3
invokevirtual org.springframework.http.HttpHeaders.getContentType:()Lorg/springframework/http/MediaType;
astore 4
start local 4 3: invokestatic org.springframework.util.MimeTypeUtils.generateMultipartBoundaryString:()Ljava/lang/String;
astore 5
start local 5 4: aload 3
ldc "Content-Type"
new java.lang.StringBuilder
dup
ldc "multipart/byteranges; boundary="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.springframework.http.HttpHeaders.set:(Ljava/lang/String;Ljava/lang/String;)V
5: aload 2
invokeinterface org.springframework.http.HttpOutputMessage.getBody:()Ljava/io/OutputStream;
astore 6
start local 6 6: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 8
goto 32
StackMap locals: org.springframework.http.converter.ResourceRegionHttpMessageConverter java.util.Collection org.springframework.http.HttpOutputMessage org.springframework.http.HttpHeaders org.springframework.http.MediaType java.lang.String java.io.OutputStream top java.util.Iterator
StackMap stack:
7: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.core.io.support.ResourceRegion
astore 7
start local 7 8: aload 7
invokevirtual org.springframework.core.io.support.ResourceRegion.getPosition:()J
lstore 9
start local 9 9: lload 9
aload 7
invokevirtual org.springframework.core.io.support.ResourceRegion.getCount:()J
ladd
lconst_1
lsub
lstore 11
start local 11 10: aload 7
invokevirtual org.springframework.core.io.support.ResourceRegion.getResource:()Lorg/springframework/core/io/Resource;
invokeinterface org.springframework.core.io.Resource.getInputStream:()Ljava/io/InputStream;
astore 13
start local 13 11: aload 6
invokestatic org.springframework.http.converter.ResourceRegionHttpMessageConverter.println:(Ljava/io/OutputStream;)V
12: aload 6
new java.lang.StringBuilder
dup
ldc "--"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.springframework.http.converter.ResourceRegionHttpMessageConverter.print:(Ljava/io/OutputStream;Ljava/lang/String;)V
13: aload 6
invokestatic org.springframework.http.converter.ResourceRegionHttpMessageConverter.println:(Ljava/io/OutputStream;)V
14: aload 4
ifnull 17
15: aload 6
new java.lang.StringBuilder
dup
ldc "Content-Type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual org.springframework.http.MediaType.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.springframework.http.converter.ResourceRegionHttpMessageConverter.print:(Ljava/io/OutputStream;Ljava/lang/String;)V
16: aload 6
invokestatic org.springframework.http.converter.ResourceRegionHttpMessageConverter.println:(Ljava/io/OutputStream;)V
17: StackMap locals: org.springframework.http.converter.ResourceRegionHttpMessageConverter java.util.Collection org.springframework.http.HttpOutputMessage org.springframework.http.HttpHeaders org.springframework.http.MediaType java.lang.String java.io.OutputStream org.springframework.core.io.support.ResourceRegion java.util.Iterator long long java.io.InputStream
StackMap stack:
aload 7
invokevirtual org.springframework.core.io.support.ResourceRegion.getResource:()Lorg/springframework/core/io/Resource;
invokeinterface org.springframework.core.io.Resource.contentLength:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
astore 14
start local 14 18: lload 11
aload 14
invokevirtual java.lang.Long.longValue:()J
lconst_1
lsub
invokestatic java.lang.Math.min:(JJ)J
lstore 11
19: aload 6
new java.lang.StringBuilder
dup
ldc "Content-Range: bytes "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 9
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
lload 11
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.springframework.http.converter.ResourceRegionHttpMessageConverter.print:(Ljava/io/OutputStream;Ljava/lang/String;)V
20: aload 6
invokestatic org.springframework.http.converter.ResourceRegionHttpMessageConverter.println:(Ljava/io/OutputStream;)V
21: aload 6
invokestatic org.springframework.http.converter.ResourceRegionHttpMessageConverter.println:(Ljava/io/OutputStream;)V
22: aload 13
aload 6
lload 9
lload 11
invokestatic org.springframework.util.StreamUtils.copyRange:(Ljava/io/InputStream;Ljava/io/OutputStream;JJ)J
pop2
end local 14 23: goto 29
24: StackMap locals:
StackMap stack: java.lang.Throwable
astore 15
25: aload 13
invokevirtual java.io.InputStream.close:()V
26: goto 28
27: StackMap locals: org.springframework.http.converter.ResourceRegionHttpMessageConverter java.util.Collection org.springframework.http.HttpOutputMessage org.springframework.http.HttpHeaders org.springframework.http.MediaType java.lang.String java.io.OutputStream org.springframework.core.io.support.ResourceRegion java.util.Iterator long long java.io.InputStream top java.lang.Throwable
StackMap stack: java.io.IOException
pop
28: StackMap locals:
StackMap stack:
aload 15
athrow
29: StackMap locals: org.springframework.http.converter.ResourceRegionHttpMessageConverter java.util.Collection org.springframework.http.HttpOutputMessage org.springframework.http.HttpHeaders org.springframework.http.MediaType java.lang.String java.io.OutputStream org.springframework.core.io.support.ResourceRegion java.util.Iterator long long java.io.InputStream
StackMap stack:
aload 13
invokevirtual java.io.InputStream.close:()V
30: goto 32
31: StackMap locals:
StackMap stack: java.io.IOException
pop
end local 13 end local 11 end local 9 end local 7 32: StackMap locals: org.springframework.http.converter.ResourceRegionHttpMessageConverter java.util.Collection org.springframework.http.HttpOutputMessage org.springframework.http.HttpHeaders org.springframework.http.MediaType java.lang.String java.io.OutputStream top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
33: aload 6
invokestatic org.springframework.http.converter.ResourceRegionHttpMessageConverter.println:(Ljava/io/OutputStream;)V
34: aload 6
new java.lang.StringBuilder
dup
ldc "--"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "--"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.springframework.http.converter.ResourceRegionHttpMessageConverter.print:(Ljava/io/OutputStream;Ljava/lang/String;)V
35: return
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 36 0 this Lorg/springframework/http/converter/ResourceRegionHttpMessageConverter;
0 36 1 resourceRegions Ljava/util/Collection<Lorg/springframework/core/io/support/ResourceRegion;>;
0 36 2 outputMessage Lorg/springframework/http/HttpOutputMessage;
2 36 3 responseHeaders Lorg/springframework/http/HttpHeaders;
3 36 4 contentType Lorg/springframework/http/MediaType;
4 36 5 boundaryString Ljava/lang/String;
6 36 6 out Ljava/io/OutputStream;
8 32 7 region Lorg/springframework/core/io/support/ResourceRegion;
9 32 9 start J
10 32 11 end J
11 32 13 in Ljava/io/InputStream;
18 23 14 resourceLength Ljava/lang/Long;
Exception table:
from to target type
11 24 24 any
25 26 27 Class java.io.IOException
29 30 31 Class java.io.IOException
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Collection<Lorg/springframework/core/io/support/ResourceRegion;>;Lorg/springframework/http/HttpOutputMessage;)V
MethodParameters:
Name Flags
resourceRegions
outputMessage
private static void println(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush 13
invokevirtual java.io.OutputStream.write:(I)V
1: aload 0
bipush 10
invokevirtual java.io.OutputStream.write:(I)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 os Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
os
private static void print(java.io.OutputStream, java.lang.String);
descriptor: (Ljava/io/OutputStream;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokevirtual java.io.OutputStream.write:([B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 os Ljava/io/OutputStream;
0 2 1 buf Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
os
buf
protected java.lang.Object readInternal(java.lang.Class, org.springframework.http.HttpInputMessage);
descriptor: (Ljava/lang/Class;Lorg/springframework/http/HttpInputMessage;)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast java.lang.Class
aload 2
invokevirtual org.springframework.http.converter.ResourceRegionHttpMessageConverter.readInternal:(Ljava/lang/Class;Lorg/springframework/http/HttpInputMessage;)Lorg/springframework/core/io/support/ResourceRegion;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException, org.springframework.http.converter.HttpMessageNotReadableException
}
Signature: Lorg/springframework/http/converter/AbstractGenericHttpMessageConverter<Ljava/lang/Object;>;
SourceFile: "ResourceRegionHttpMessageConverter.java"