public class extends org.apache.catalina.webresources.StandardRoot
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.webresources.ExtractingRoot
super_class: org.apache.catalina.webresources.StandardRoot
{
private static final org.apache.tomcat.util.res.StringManager ;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String ;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "application-jars"
static void ();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/catalina/webresources/ExtractingRoot;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.catalina.webresources.ExtractingRoot.sm:Lorg/apache/tomcat/util/res/StringManager;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void ();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.webresources.StandardRoot.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/webresources/ExtractingRoot;
protected void ();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=12, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.webresources.StandardRoot.isPackedWarFile:()Z
ifne 3
1: aload 0
invokespecial org.apache.catalina.webresources.StandardRoot.processWebInfLib:()V
2: return
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.webresources.ExtractingRoot.getExpansionTarget:()Ljava/io/File;
astore 1
start local 1 4: aload 1
invokevirtual java.io.File.isDirectory:()Z
ifne 9
5: aload 1
invokevirtual java.io.File.mkdirs:()Z
ifne 9
6: new org.apache.catalina.LifecycleException
dup
7: getstatic org.apache.catalina.webresources.ExtractingRoot.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "extractingRoot.targetFailed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
8: invokespecial org.apache.catalina.LifecycleException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.io.File
StackMap stack:
aload 0
ldc "/WEB-INF/lib"
iconst_0
invokevirtual org.apache.catalina.webresources.ExtractingRoot.listResources:(Ljava/lang/String;Z)[Lorg/apache/catalina/WebResource;
astore 2
start local 2 10: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 39
StackMap locals: org.apache.catalina.webresources.ExtractingRoot java.io.File org.apache.catalina.WebResource[] top int int org.apache.catalina.WebResource[]
StackMap stack:
11: aload 6
iload 4
aaload
astore 3
start local 3 12: aload 3
invokeinterface org.apache.catalina.WebResource.isFile:()Z
ifeq 38
aload 3
invokeinterface org.apache.catalina.WebResource.getName:()Ljava/lang/String;
ldc ".jar"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 38
13: new java.io.File
dup
aload 1
aload 3
invokeinterface org.apache.catalina.WebResource.getName:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 7
start local 7 14: aload 7
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
astore 7
15: aconst_null
astore 8
aconst_null
astore 9
16: aload 3
invokeinterface org.apache.catalina.WebResource.getInputStream:()Ljava/io/InputStream;
astore 10
start local 10 17: new java.io.FileOutputStream
dup
aload 7
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 11
start local 11 18: aload 10
aload 11
invokestatic org.apache.catalina.util.IOTools.flow:(Ljava/io/InputStream;Ljava/io/OutputStream;)V
19: aload 11
ifnull 22
aload 11
invokevirtual java.io.OutputStream.close:()V
goto 22
StackMap locals: org.apache.catalina.webresources.ExtractingRoot java.io.File org.apache.catalina.WebResource[] org.apache.catalina.WebResource int int org.apache.catalina.WebResource[] java.io.File java.lang.Throwable java.lang.Throwable java.io.InputStream java.io.OutputStream
StackMap stack: java.lang.Throwable
20: astore 8
aload 11
ifnull 21
aload 11
invokevirtual java.io.OutputStream.close:()V
end local 11 StackMap locals:
StackMap stack:
21: aload 8
athrow
StackMap locals:
StackMap stack:
22: aload 10
ifnull 30
aload 10
invokevirtual java.io.InputStream.close:()V
goto 30
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 9
aload 8
ifnonnull 24
aload 9
astore 8
goto 25
StackMap locals:
StackMap stack:
24: aload 8
aload 9
if_acmpeq 25
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
25: aload 10
ifnull 26
aload 10
invokevirtual java.io.InputStream.close:()V
end local 10 StackMap locals:
StackMap stack:
26: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
27: astore 9
aload 8
ifnonnull 28
aload 9
astore 8
goto 29
StackMap locals:
StackMap stack:
28: aload 8
aload 9
if_acmpeq 29
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
29: aload 8
athrow
30: StackMap locals:
StackMap stack:
aload 0
getstatic org.apache.catalina.WebResourceRoot$ResourceSetType.CLASSES_JAR:Lorg/apache/catalina/WebResourceRoot$ResourceSetType;
31: ldc "/WEB-INF/classes"
aload 7
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
ldc "/"
32: invokevirtual org.apache.catalina.webresources.ExtractingRoot.createWebResourceSet:(Lorg/apache/catalina/WebResourceRoot$ResourceSetType;Ljava/lang/String;Ljava/net/URL;Ljava/lang/String;)V
end local 7 33: goto 38
StackMap locals: org.apache.catalina.webresources.ExtractingRoot java.io.File org.apache.catalina.WebResource[] org.apache.catalina.WebResource int int org.apache.catalina.WebResource[]
StackMap stack: java.io.IOException
34: astore 7
start local 7 35: new org.apache.catalina.LifecycleException
dup
36: getstatic org.apache.catalina.webresources.ExtractingRoot.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "extractingRoot.jarFailed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
invokeinterface org.apache.catalina.WebResource.getName:()Ljava/lang/String;
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 7
37: invokespecial org.apache.catalina.LifecycleException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 end local 3 38: StackMap locals: org.apache.catalina.webresources.ExtractingRoot java.io.File org.apache.catalina.WebResource[] top int int org.apache.catalina.WebResource[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
39: iload 4
iload 5
if_icmplt 11
40: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lorg/apache/catalina/webresources/ExtractingRoot;
4 41 1 expansionTarget Ljava/io/File;
10 41 2 possibleJars [Lorg/apache/catalina/WebResource;
12 38 3 possibleJar Lorg/apache/catalina/WebResource;
14 33 7 dest Ljava/io/File;
17 26 10 sourceStream Ljava/io/InputStream;
18 21 11 destStream Ljava/io/OutputStream;
35 38 7 ioe Ljava/io/IOException;
Exception table:
from to target type
18 19 20 any
17 22 23 any
16 27 27 any
13 33 34 Class java.io.IOException
Exceptions:
throws org.apache.catalina.LifecycleException
private java.io.File ();
descriptor: ()Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.catalina.webresources.ExtractingRoot.getContext:()Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getServletContext:()Ljakarta/servlet/ServletContext;
ldc "jakarta.servlet.context.tempdir"
invokeinterface jakarta.servlet.ServletContext.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.io.File
astore 1
start local 1 1: new java.io.File
dup
aload 1
ldc "application-jars"
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 2
start local 2 2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/webresources/ExtractingRoot;
1 3 1 tmpDir Ljava/io/File;
2 3 2 expansionTarget Ljava/io/File;
protected boolean ();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/webresources/ExtractingRoot;
protected void ();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.webresources.StandardRoot.stopInternal:()V
1: aload 0
invokespecial org.apache.catalina.webresources.StandardRoot.isPackedWarFile:()Z
ifeq 4
2: aload 0
invokevirtual org.apache.catalina.webresources.ExtractingRoot.getExpansionTarget:()Ljava/io/File;
astore 1
start local 1 3: aload 1
invokestatic org.apache.catalina.startup.ExpandWar.delete:(Ljava/io/File;)Z
pop
end local 1 4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/webresources/ExtractingRoot;
3 4 1 expansionTarget Ljava/io/File;
Exceptions:
throws org.apache.catalina.LifecycleException
}
SourceFile: "ExtractingRoot.java"
InnerClasses:
public final ResourceSetType = org.apache.catalina.WebResourceRoot$ResourceSetType of org.apache.catalina.WebResourceRoot