public class org.springframework.web.servlet.resource.ContentVersionStrategy extends org.springframework.web.servlet.resource.AbstractVersionStrategy
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.web.servlet.resource.ContentVersionStrategy
super_class: org.springframework.web.servlet.resource.AbstractVersionStrategy
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // org.springframework.web.servlet.resource.ContentVersionStrategy this
0: .line 38
aload 0 /* this */
new org.springframework.web.servlet.resource.AbstractVersionStrategy$FileNameVersionPathStrategy
dup
invokespecial org.springframework.web.servlet.resource.AbstractVersionStrategy$FileNameVersionPathStrategy.<init>:()V
invokespecial org.springframework.web.servlet.resource.AbstractVersionStrategy.<init>:(Lorg/springframework/web/servlet/resource/VersionPathStrategy;)V
1: .line 39
return
end local 0 // org.springframework.web.servlet.resource.ContentVersionStrategy this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/web/servlet/resource/ContentVersionStrategy;
public java.lang.String getResourceVersion(org.springframework.core.io.Resource);
descriptor: (Lorg/springframework/core/io/Resource;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 // org.springframework.web.servlet.resource.ContentVersionStrategy this
start local 1 // org.springframework.core.io.Resource resource
0: .line 44
aload 1 /* resource */
invokeinterface org.springframework.core.io.Resource.getInputStream:()Ljava/io/InputStream;
invokestatic org.springframework.util.FileCopyUtils.copyToByteArray:(Ljava/io/InputStream;)[B
astore 2 /* content */
start local 2 // byte[] content
1: .line 45
aload 2 /* content */
invokestatic org.springframework.util.DigestUtils.md5DigestAsHex:([B)Ljava/lang/String;
2: areturn
end local 2 // byte[] content
3: .line 47
StackMap locals:
StackMap stack: java.io.IOException
astore 2 /* ex */
start local 2 // java.io.IOException ex
4: .line 48
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Failed to calculate hash for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* resource */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2 /* ex */
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 // java.io.IOException ex
end local 1 // org.springframework.core.io.Resource resource
end local 0 // org.springframework.web.servlet.resource.ContentVersionStrategy this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/web/servlet/resource/ContentVersionStrategy;
0 5 1 resource Lorg/springframework/core/io/Resource;
1 3 2 content [B
4 5 2 ex Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
MethodParameters:
Name Flags
resource
}
SourceFile: "ContentVersionStrategy.java"
InnerClasses:
protected FileNameVersionPathStrategy = org.springframework.web.servlet.resource.AbstractVersionStrategy$FileNameVersionPathStrategy of org.springframework.web.servlet.resource.AbstractVersionStrategy