public final class com.sun.naming.internal.ResourceManager
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.sun.naming.internal.ResourceManager
super_class: java.lang.Object
{
private static final java.lang.String PROVIDER_RESOURCE_FILE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jndiprovider.properties"
private static final java.lang.String APP_RESOURCE_FILE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jndi.properties"
private static final java.lang.String JRELIB_PROPERTY_FILE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jndi.properties"
private static final java.lang.String[] listProperties;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.sun.naming.internal.VersionHelper helper;
descriptor: Lcom/sun/naming/internal/VersionHelper;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.WeakHashMap propertiesCache;
descriptor: Ljava/util/WeakHashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.WeakHashMap factoryCache;
descriptor: Ljava/util/WeakHashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.WeakHashMap urlFactoryCache;
descriptor: Ljava/util/WeakHashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.ref.WeakReference NO_FACTORY;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_4
anewarray java.lang.String
dup
iconst_0
1: ldc "java.naming.factory.object"
aastore
dup
iconst_1
2: ldc "java.naming.factory.url.pkgs"
aastore
dup
iconst_2
3: ldc "java.naming.factory.state"
aastore
dup
iconst_3
4: ldc "java.naming.factory.control"
aastore
5: putstatic com.sun.naming.internal.ResourceManager.listProperties:[Ljava/lang/String;
6: invokestatic com.sun.naming.internal.VersionHelper.getVersionHelper:()Lcom/sun/naming/internal/VersionHelper;
7: putstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
8: new java.util.WeakHashMap
dup
bipush 11
invokespecial java.util.WeakHashMap.<init>:(I)V
putstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
9: new java.util.WeakHashMap
dup
bipush 11
invokespecial java.util.WeakHashMap.<init>:(I)V
putstatic com.sun.naming.internal.ResourceManager.factoryCache:Ljava/util/WeakHashMap;
10: new java.util.WeakHashMap
dup
bipush 11
invokespecial java.util.WeakHashMap.<init>:(I)V
putstatic com.sun.naming.internal.ResourceManager.urlFactoryCache:Ljava/util/WeakHashMap;
11: new java.lang.ref.WeakReference
dup
aconst_null
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
putstatic com.sun.naming.internal.ResourceManager.NO_FACTORY:Ljava/lang/ref/WeakReference;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/naming/internal/ResourceManager;
public static java.util.Hashtable getInitialEnvironment(java.util.Hashtable);
descriptor: (Ljava/util/Hashtable;)Ljava/util/Hashtable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: getstatic com.sun.naming.internal.VersionHelper.PROPS:[Ljava/lang/String;
astore 1
start local 1 1: aload 0
ifnonnull 3
2: new java.util.Hashtable
dup
bipush 11
invokespecial java.util.Hashtable.<init>:(I)V
astore 0
3: StackMap locals: java.lang.String[]
StackMap stack:
aload 0
ldc "java.naming.applet"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.applet.Applet
astore 2
start local 2 4: getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
invokevirtual com.sun.naming.internal.VersionHelper.getJndiProperties:()[Ljava/lang/String;
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 19
7: StackMap locals: java.applet.Applet java.lang.String[] int
StackMap stack:
aload 0
aload 1
iload 4
aaload
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 8: aload 5
ifnonnull 18
9: aload 2
ifnull 11
10: aload 2
aload 1
iload 4
aaload
invokevirtual java.applet.Applet.getParameter:(Ljava/lang/String;)Ljava/lang/String;
astore 5
11: StackMap locals: java.lang.Object
StackMap stack:
aload 5
ifnonnull 16
12: aload 3
ifnull 14
13: aload 3
iload 4
aaload
goto 15
14: StackMap locals:
StackMap stack:
getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
iload 4
invokevirtual com.sun.naming.internal.VersionHelper.getJndiProperty:(I)Ljava/lang/String;
15: StackMap locals:
StackMap stack: java.lang.String
astore 5
16: StackMap locals:
StackMap stack:
aload 5
ifnull 18
17: aload 0
aload 1
iload 4
aaload
aload 5
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 18: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
aload 1
arraylength
if_icmplt 7
end local 4 20: aload 0
invokestatic com.sun.naming.internal.ResourceManager.getApplicationResources:()Ljava/util/Hashtable;
invokestatic com.sun.naming.internal.ResourceManager.mergeTables:(Ljava/util/Hashtable;Ljava/util/Hashtable;)V
21: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 env Ljava/util/Hashtable;
1 22 1 props [Ljava/lang/String;
4 22 2 applet Ljava/applet/Applet;
5 22 3 jndiSysProps [Ljava/lang/String;
6 20 4 i I
8 18 5 val Ljava/lang/Object;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
env
public static java.lang.String getProperty(java.lang.String, java.util.Hashtable, javax.naming.Context, boolean);
descriptor: (Ljava/lang/String;Ljava/util/Hashtable;Ljavax/naming/Context;Z)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 1
aload 0
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.lang.String
2: astore 4
start local 4 3: aload 2
ifnull 5
4: aload 4
ifnull 6
iload 3
ifne 6
5: StackMap locals: java.lang.String
StackMap stack:
aload 4
areturn
6: StackMap locals:
StackMap stack:
aload 2
invokestatic com.sun.naming.internal.ResourceManager.getProviderResource:(Ljava/lang/Object;)Ljava/util/Hashtable;
aload 0
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 7: aload 4
ifnonnull 9
8: aload 5
areturn
9: StackMap locals: java.lang.String
StackMap stack:
aload 5
ifnull 10
iload 3
ifne 11
10: StackMap locals:
StackMap stack:
aload 4
areturn
11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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 12 0 propName Ljava/lang/String;
0 12 1 env Ljava/util/Hashtable;
0 12 2 ctx Ljavax/naming/Context;
0 12 3 concat Z
3 12 4 val1 Ljava/lang/String;
7 12 5 val2 Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
propName
env
ctx
concat
public static com.sun.naming.internal.FactoryEnumeration getFactories(java.lang.String, java.util.Hashtable, javax.naming.Context);
descriptor: (Ljava/lang/String;Ljava/util/Hashtable;Ljavax/naming/Context;)Lcom/sun/naming/internal/FactoryEnumeration;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokestatic com.sun.naming.internal.ResourceManager.getProperty:(Ljava/lang/String;Ljava/util/Hashtable;Ljavax/naming/Context;Z)Ljava/lang/String;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.String
StackMap stack:
getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
invokevirtual com.sun.naming.internal.VersionHelper.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 4
start local 4 4: aconst_null
astore 5
start local 5 5: getstatic com.sun.naming.internal.ResourceManager.factoryCache:Ljava/util/WeakHashMap;
dup
astore 6
monitorenter
6: getstatic com.sun.naming.internal.ResourceManager.factoryCache:Ljava/util/WeakHashMap;
aload 4
invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 5
7: aload 5
ifnonnull 10
8: new java.util.HashMap
dup
bipush 11
invokespecial java.util.HashMap.<init>:(I)V
astore 5
9: getstatic com.sun.naming.internal.ResourceManager.factoryCache:Ljava/util/WeakHashMap;
aload 4
aload 5
invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals: java.lang.ClassLoader java.util.Map java.util.WeakHashMap
StackMap stack:
aload 6
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 6
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
aload 5
dup
astore 6
monitorenter
15: aload 5
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 7
start local 7 16: aload 7
ifnull 21
17: aload 7
invokeinterface java.util.List.size:()I
ifne 18
aconst_null
goto 19
18: StackMap locals: java.util.Map java.util.List
StackMap stack:
new com.sun.naming.internal.FactoryEnumeration
dup
aload 7
aload 4
invokespecial com.sun.naming.internal.FactoryEnumeration.<init>:(Ljava/util/List;Ljava/lang/ClassLoader;)V
19: StackMap locals:
StackMap stack: com.sun.naming.internal.FactoryEnumeration
aload 6
monitorexit
20: areturn
21: StackMap locals:
StackMap stack:
new java.util.StringTokenizer
dup
aload 3
ldc ":"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 8
start local 8 22: new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
23: goto 29
24: StackMap locals: java.util.StringTokenizer
StackMap stack:
aload 8
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 9
start local 9 25: getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
aload 9
aload 4
invokevirtual com.sun.naming.internal.VersionHelper.loadClass:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
astore 10
start local 10 26: aload 7
new com.sun.naming.internal.NamedWeakReference
dup
aload 10
aload 9
invokespecial com.sun.naming.internal.NamedWeakReference.<init>:(Ljava/lang/Object;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 27: goto 29
StackMap locals:
StackMap stack: java.lang.Exception
28: pop
29: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 24
30: aload 5
aload 3
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
31: new com.sun.naming.internal.FactoryEnumeration
dup
aload 7
aload 4
invokespecial com.sun.naming.internal.FactoryEnumeration.<init>:(Ljava/util/List;Ljava/lang/ClassLoader;)V
aload 6
monitorexit
32: areturn
end local 8 end local 7 33: StackMap locals: java.lang.String java.util.Hashtable javax.naming.Context java.lang.String java.lang.ClassLoader java.util.Map java.util.Map
StackMap stack: java.lang.Throwable
aload 6
monitorexit
34: athrow
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 35 0 propName Ljava/lang/String;
0 35 1 env Ljava/util/Hashtable;
0 35 2 ctx Ljavax/naming/Context;
1 35 3 facProp Ljava/lang/String;
4 35 4 loader Ljava/lang/ClassLoader;
5 35 5 perLoaderCache Ljava/util/Map;
16 33 7 factories Ljava/util/List;
22 33 8 parser Ljava/util/StringTokenizer;
25 27 9 className Ljava/lang/String;
26 27 10 c Ljava/lang/Class;
Exception table:
from to target type
6 11 12 any
12 13 12 any
24 27 28 Class java.lang.Exception
15 20 33 any
21 32 33 any
33 34 33 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
propName
env
ctx
public static java.lang.Object getFactory(java.lang.String, java.util.Hashtable, javax.naming.Context, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/util/Hashtable;Ljavax/naming/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
iconst_1
invokestatic com.sun.naming.internal.ResourceManager.getProperty:(Ljava/lang/String;Ljava/util/Hashtable;Ljavax/naming/Context;Z)Ljava/lang/String;
astore 5
start local 5 1: aload 5
ifnull 3
2: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
goto 4
3: StackMap locals: java.lang.String
StackMap stack:
aload 4
astore 5
4: StackMap locals:
StackMap stack:
getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
invokevirtual com.sun.naming.internal.VersionHelper.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 6
start local 6 5: new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 6: aconst_null
astore 8
start local 8 7: getstatic com.sun.naming.internal.ResourceManager.urlFactoryCache:Ljava/util/WeakHashMap;
dup
astore 9
monitorenter
8: getstatic com.sun.naming.internal.ResourceManager.urlFactoryCache:Ljava/util/WeakHashMap;
aload 6
invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 8
9: aload 8
ifnonnull 12
10: new java.util.HashMap
dup
bipush 11
invokespecial java.util.HashMap.<init>:(I)V
astore 8
11: getstatic com.sun.naming.internal.ResourceManager.urlFactoryCache:Ljava/util/WeakHashMap;
aload 6
aload 8
invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: StackMap locals: java.lang.String java.util.Hashtable javax.naming.Context java.lang.String java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.util.Map java.util.WeakHashMap
StackMap stack:
aload 9
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 9
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
aload 8
dup
astore 9
monitorenter
17: aconst_null
astore 10
start local 10 18: aload 8
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 11
start local 11 19: aload 11
getstatic com.sun.naming.internal.ResourceManager.NO_FACTORY:Ljava/lang/ref/WeakReference;
if_acmpne 22
20: aload 9
monitorexit
21: aconst_null
areturn
22: StackMap locals: java.util.Map java.lang.Object java.lang.ref.WeakReference
StackMap stack:
aload 11
ifnull 27
23: aload 11
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
astore 10
24: aload 10
ifnull 27
25: aload 10
aload 9
monitorexit
26: areturn
27: StackMap locals:
StackMap stack:
new java.util.StringTokenizer
dup
aload 5
ldc ":"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 12
start local 12 28: goto 43
29: StackMap locals: java.util.StringTokenizer
StackMap stack:
new java.lang.StringBuilder
dup
aload 12
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 13
start local 13 30: getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
aload 13
aload 6
invokevirtual com.sun.naming.internal.VersionHelper.loadClass:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
astore 10
31: goto 43
StackMap locals: java.lang.String java.util.Hashtable javax.naming.Context java.lang.String java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.util.Map java.util.Map java.lang.Object java.lang.ref.WeakReference java.util.StringTokenizer java.lang.String
StackMap stack: java.lang.InstantiationException
32: astore 14
start local 14 33: new javax.naming.NamingException
dup
new java.lang.StringBuilder
dup
ldc "Cannot instantiate "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
34: astore 15
start local 15 35: aload 15
aload 14
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
36: aload 15
athrow
end local 15 end local 14 37: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 14
start local 14 38: new javax.naming.NamingException
dup
new java.lang.StringBuilder
dup
ldc "Cannot access "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 13
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
39: astore 15
start local 15 40: aload 15
aload 14
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
41: aload 15
athrow
end local 15 end local 14 42: StackMap locals:
StackMap stack: java.lang.Exception
pop
end local 13 43: StackMap locals:
StackMap stack:
aload 10
ifnonnull 44
aload 12
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 29
44: StackMap locals:
StackMap stack:
aload 8
aload 7
aload 10
ifnull 46
45: new java.lang.ref.WeakReference
dup
aload 10
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
goto 47
46: StackMap locals: java.lang.String java.util.Hashtable javax.naming.Context java.lang.String java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.util.Map java.util.Map java.lang.Object java.lang.ref.WeakReference java.util.StringTokenizer
StackMap stack: java.util.Map java.lang.String
getstatic com.sun.naming.internal.ResourceManager.NO_FACTORY:Ljava/lang/ref/WeakReference;
47: StackMap locals: java.lang.String java.util.Hashtable javax.naming.Context java.lang.String java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.util.Map java.util.Map java.lang.Object java.lang.ref.WeakReference java.util.StringTokenizer
StackMap stack: java.util.Map java.lang.String java.lang.ref.WeakReference
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
48: aload 10
aload 9
monitorexit
49: areturn
end local 12 end local 11 end local 10 50: StackMap locals: java.lang.String java.util.Hashtable javax.naming.Context java.lang.String java.lang.String java.lang.String java.lang.ClassLoader java.lang.String java.util.Map java.util.Map
StackMap stack: java.lang.Throwable
aload 9
monitorexit
51: athrow
end local 8 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 52 0 propName Ljava/lang/String;
0 52 1 env Ljava/util/Hashtable;
0 52 2 ctx Ljavax/naming/Context;
0 52 3 classSuffix Ljava/lang/String;
0 52 4 defaultPkgPrefix Ljava/lang/String;
1 52 5 facProp Ljava/lang/String;
5 52 6 loader Ljava/lang/ClassLoader;
6 52 7 key Ljava/lang/String;
7 52 8 perLoaderCache Ljava/util/Map;
18 50 10 factory Ljava/lang/Object;
19 50 11 factoryRef Ljava/lang/ref/WeakReference;
28 50 12 parser Ljava/util/StringTokenizer;
30 43 13 className Ljava/lang/String;
33 37 14 e Ljava/lang/InstantiationException;
35 37 15 ne Ljavax/naming/NamingException;
38 42 14 e Ljava/lang/IllegalAccessException;
40 42 15 ne Ljavax/naming/NamingException;
Exception table:
from to target type
8 13 14 any
14 15 14 any
30 31 32 Class java.lang.InstantiationException
30 31 37 Class java.lang.IllegalAccessException
30 31 42 Class java.lang.Exception
17 21 50 any
22 26 50 any
27 49 50 any
50 51 50 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
propName
env
ctx
classSuffix
defaultPkgPrefix
private static java.util.Hashtable getProviderResource(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/util/Hashtable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.util.Hashtable
dup
iconst_1
invokespecial java.util.Hashtable.<init>:(I)V
areturn
2: StackMap locals:
StackMap stack:
getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
dup
astore 1
monitorenter
3: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 2
start local 2 4: getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
aload 2
invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Hashtable
astore 3
start local 3 5: aload 3
ifnull 8
6: aload 3
aload 1
monitorexit
7: areturn
8: StackMap locals: java.util.WeakHashMap java.lang.Class java.util.Hashtable
StackMap stack:
new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 3
9: getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
aload 2
ldc "jndiprovider.properties"
invokevirtual com.sun.naming.internal.VersionHelper.getResourceAsStream:(Ljava/lang/Class;Ljava/lang/String;)Ljava/io/InputStream;
10: astore 4
start local 4 11: aload 4
ifnull 20
12: aload 3
checkcast java.util.Properties
aload 4
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
13: goto 20
StackMap locals: java.lang.Object java.util.WeakHashMap java.lang.Class java.util.Hashtable java.io.InputStream
StackMap stack: java.io.IOException
14: astore 5
start local 5 15: new javax.naming.ConfigurationException
dup
16: new java.lang.StringBuilder
dup
ldc "Error reading provider resource file for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 18: aload 6
aload 5
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
19: aload 6
athrow
end local 6 end local 5 20: StackMap locals:
StackMap stack:
getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
aload 2
aload 3
invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: aload 3
aload 1
monitorexit
22: areturn
end local 4 end local 3 end local 2 23: StackMap locals: java.lang.Object java.util.WeakHashMap
StackMap stack: java.lang.Throwable
aload 1
monitorexit
24: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 obj Ljava/lang/Object;
4 23 2 c Ljava/lang/Class;
5 23 3 props Ljava/util/Hashtable;
11 23 4 istream Ljava/io/InputStream;
15 20 5 e Ljava/io/IOException;
18 20 6 ne Ljavax/naming/NamingException;
Exception table:
from to target type
12 13 14 Class java.io.IOException
3 7 23 any
8 22 23 any
23 24 23 any
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
obj
private static java.util.Hashtable getApplicationResources();
descriptor: ()Ljava/util/Hashtable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=0
0: getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
invokevirtual com.sun.naming.internal.VersionHelper.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 0
start local 0 1: getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
dup
astore 1
monitorenter
2: getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
aload 0
invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Hashtable
astore 2
start local 2 3: aload 2
ifnull 6
4: aload 2
aload 1
monitorexit
5: areturn
6: StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable
StackMap stack:
getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
aload 0
ldc "jndi.properties"
invokevirtual com.sun.naming.internal.VersionHelper.getResources:(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljavax/naming/NamingEnumeration;
7: astore 3
start local 3 8: goto 15
9: StackMap locals: javax.naming.NamingEnumeration
StackMap stack:
new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 4
start local 4 10: aload 4
aload 3
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast java.io.InputStream
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
11: aload 2
ifnonnull 14
12: aload 4
astore 2
13: goto 15
14: StackMap locals: java.util.Properties
StackMap stack:
aload 2
aload 4
invokestatic com.sun.naming.internal.ResourceManager.mergeTables:(Ljava/util/Hashtable;Ljava/util/Hashtable;)V
end local 4 15: StackMap locals:
StackMap stack:
aload 3
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 9
16: getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
ldc "jndi.properties"
invokevirtual com.sun.naming.internal.VersionHelper.getJavaHomeLibStream:(Ljava/lang/String;)Ljava/io/InputStream;
17: astore 4
start local 4 18: aload 4
ifnull 32
19: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 5
start local 5 20: aload 5
aload 4
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
21: aload 2
ifnonnull 24
22: aload 5
astore 2
23: goto 32
24: StackMap locals: java.io.InputStream java.util.Properties
StackMap stack:
aload 2
aload 5
invokestatic com.sun.naming.internal.ResourceManager.mergeTables:(Ljava/util/Hashtable;Ljava/util/Hashtable;)V
end local 5 end local 4 end local 3 25: goto 32
StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable
StackMap stack: java.io.IOException
26: astore 3
start local 3 27: new javax.naming.ConfigurationException
dup
28: ldc "Error reading application resource file"
29: invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 30: aload 4
aload 3
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
31: aload 4
athrow
end local 4 end local 3 32: StackMap locals:
StackMap stack:
aload 2
ifnonnull 34
33: new java.util.Hashtable
dup
bipush 11
invokespecial java.util.Hashtable.<init>:(I)V
astore 2
34: StackMap locals:
StackMap stack:
getstatic com.sun.naming.internal.ResourceManager.propertiesCache:Ljava/util/WeakHashMap;
aload 0
aload 2
invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
35: aload 2
aload 1
monitorexit
36: areturn
end local 2 37: StackMap locals: java.lang.ClassLoader java.util.WeakHashMap
StackMap stack: java.lang.Throwable
aload 1
monitorexit
38: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 39 0 cl Ljava/lang/ClassLoader;
3 37 2 result Ljava/util/Hashtable;
8 25 3 resources Ljavax/naming/NamingEnumeration;
10 15 4 props Ljava/util/Properties;
18 25 4 istream Ljava/io/InputStream;
20 25 5 props Ljava/util/Properties;
27 32 3 e Ljava/io/IOException;
30 32 4 ne Ljavax/naming/NamingException;
Exception table:
from to target type
6 25 26 Class java.io.IOException
2 5 37 any
6 36 37 any
37 38 37 any
Exceptions:
throws javax.naming.NamingException
private static void mergeTables(java.util.Hashtable, java.util.Hashtable);
descriptor: (Ljava/util/Hashtable;Ljava/util/Hashtable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
astore 2
start local 2 1: goto 10
2: StackMap locals: java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aload 0
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 4: aload 4
ifnonnull 7
5: aload 0
aload 3
aload 1
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: goto 10
StackMap locals: java.lang.String java.lang.Object
StackMap stack:
7: aload 3
invokestatic com.sun.naming.internal.ResourceManager.isListProperty:(Ljava/lang/String;)Z
ifeq 10
8: aload 1
aload 3
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 9: aload 0
aload 3
new java.lang.StringBuilder
dup
aload 4
checkcast java.lang.String
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 2
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 props1 Ljava/util/Hashtable;
0 12 1 props2 Ljava/util/Hashtable;
1 12 2 keys Ljava/util/Enumeration;
3 10 3 prop Ljava/lang/String;
4 10 4 val1 Ljava/lang/Object;
9 10 5 val2 Ljava/lang/String;
MethodParameters:
Name Flags
props1
props2
private static boolean isListProperty(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.intern:()Ljava/lang/String;
astore 0
1: iconst_0
istore 1
start local 1 2: goto 6
3: StackMap locals: int
StackMap stack:
aload 0
getstatic com.sun.naming.internal.ResourceManager.listProperties:[Ljava/lang/String;
iload 1
aaload
if_acmpne 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
6: iload 1
getstatic com.sun.naming.internal.ResourceManager.listProperties:[Ljava/lang/String;
arraylength
if_icmplt 3
end local 1 7: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 prop Ljava/lang/String;
2 7 1 i I
MethodParameters:
Name Flags
prop
}
SourceFile: "ResourceManager.java"