public final class org.apache.catalina.startup.HomesUserDatabase implements org.apache.catalina.startup.UserDatabase
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.catalina.startup.HomesUserDatabase
super_class: java.lang.Object
{
private final java.util.Hashtable<java.lang.String, java.lang.String> homes;
descriptor: Ljava/util/Hashtable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
private org.apache.catalina.startup.UserConfig userConfig;
descriptor: Lorg/apache/catalina/startup/UserConfig;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putfield org.apache.catalina.startup.HomesUserDatabase.homes:Ljava/util/Hashtable;
2: aload 0
aconst_null
putfield org.apache.catalina.startup.HomesUserDatabase.userConfig:Lorg/apache/catalina/startup/UserConfig;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/startup/HomesUserDatabase;
public org.apache.catalina.startup.UserConfig getUserConfig();
descriptor: ()Lorg/apache/catalina/startup/UserConfig;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.startup.HomesUserDatabase.userConfig:Lorg/apache/catalina/startup/UserConfig;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/startup/HomesUserDatabase;
public void setUserConfig(org.apache.catalina.startup.UserConfig);
descriptor: (Lorg/apache/catalina/startup/UserConfig;)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.apache.catalina.startup.HomesUserDatabase.userConfig:Lorg/apache/catalina/startup/UserConfig;
1: aload 0
invokevirtual org.apache.catalina.startup.HomesUserDatabase.init:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/startup/HomesUserDatabase;
0 3 1 userConfig Lorg/apache/catalina/startup/UserConfig;
MethodParameters:
Name Flags
userConfig
public java.lang.String getHome(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.startup.HomesUserDatabase.homes:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/startup/HomesUserDatabase;
0 1 1 user Ljava/lang/String;
MethodParameters:
Name Flags
user
public java.util.Enumeration<java.lang.String> getUsers();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.startup.HomesUserDatabase.homes:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/startup/HomesUserDatabase;
Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;
private void init();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.startup.HomesUserDatabase.userConfig:Lorg/apache/catalina/startup/UserConfig;
invokevirtual org.apache.catalina.startup.UserConfig.getHomeBase:()Ljava/lang/String;
astore 1
start local 1 1: new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 2
start local 2 2: aload 2
invokevirtual java.io.File.exists:()Z
ifeq 3
aload 2
invokevirtual java.io.File.isDirectory:()Z
ifne 4
3: StackMap locals: java.lang.String java.io.File
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.File.list:()[Ljava/lang/String;
astore 3
start local 3 5: aload 3
ifnonnull 7
6: return
7: StackMap locals: java.lang.String[]
StackMap stack:
aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 14
StackMap locals: org.apache.catalina.startup.HomesUserDatabase java.lang.String java.io.File java.lang.String[] top int int java.lang.String[]
StackMap stack:
8: aload 7
iload 5
aaload
astore 4
start local 4 9: new java.io.File
dup
aload 2
aload 4
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 8
start local 8 10: aload 8
invokevirtual java.io.File.isDirectory:()Z
ifeq 13
aload 8
invokevirtual java.io.File.canRead:()Z
ifne 12
11: goto 13
12: StackMap locals: org.apache.catalina.startup.HomesUserDatabase java.lang.String java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File
StackMap stack:
aload 0
getfield org.apache.catalina.startup.HomesUserDatabase.homes:Ljava/util/Hashtable;
aload 4
aload 8
invokevirtual java.io.File.toString:()Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 4 13: StackMap locals: org.apache.catalina.startup.HomesUserDatabase java.lang.String java.io.File java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
iload 6
if_icmplt 8
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/catalina/startup/HomesUserDatabase;
1 16 1 homeBase Ljava/lang/String;
2 16 2 homeBaseDir Ljava/io/File;
5 16 3 homeBaseFiles [Ljava/lang/String;
9 13 4 homeBaseFile Ljava/lang/String;
10 13 8 homeDir Ljava/io/File;
}
SourceFile: "HomesUserDatabase.java"