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 JRE_CONF_PROPERTY_FILE_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jndi.properties"
private static final java.lang.String DISABLE_APP_RESOURCE_FILES;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.sun.naming.disable.app.resource.files"
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<java.lang.Object, java.util.Hashtable<? super java.lang.String, java.lang.Object>> propertiesCache;
descriptor: Ljava/util/WeakHashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/WeakHashMap<Ljava/lang/Object;Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;>;
private static final java.util.WeakHashMap<java.lang.ClassLoader, java.util.Map<java.lang.String, java.util.List<com.sun.naming.internal.NamedWeakReference<java.lang.Object>>>> factoryCache;
descriptor: Ljava/util/WeakHashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/WeakHashMap<Ljava/lang/ClassLoader;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/sun/naming/internal/NamedWeakReference<Ljava/lang/Object;>;>;>;>;
private static final java.util.WeakHashMap<java.lang.ClassLoader, java.util.Map<java.lang.String, java.lang.ref.WeakReference<java.lang.Object>>> urlFactoryCache;
descriptor: Ljava/util/WeakHashMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/WeakHashMap<Ljava/lang/ClassLoader;Ljava/util/Map<Ljava/lang/String;Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;>;>;
private static final java.lang.ref.WeakReference<java.lang.Object> NO_FACTORY;
descriptor: Ljava/lang/ref/WeakReference;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;
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
12: putstatic com.sun.naming.internal.ResourceManager.NO_FACTORY:Ljava/lang/ref/WeakReference;
13: 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=5, 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:
getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
invokevirtual com.sun.naming.internal.VersionHelper.getJndiProperties:()[Ljava/lang/String;
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 15
6: StackMap locals: java.lang.String[] int
StackMap stack:
aload 0
aload 1
iload 3
aaload
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 7: aload 4
ifnonnull 12
8: aload 2
ifnull 10
9: aload 2
iload 3
aaload
goto 11
10: StackMap locals: java.lang.Object
StackMap stack:
getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
iload 3
invokevirtual com.sun.naming.internal.VersionHelper.getJndiProperty:(I)Ljava/lang/String;
11: StackMap locals:
StackMap stack: java.lang.String
astore 4
12: StackMap locals:
StackMap stack:
aload 4
ifnull 14
13: aload 0
aload 1
iload 3
aaload
aload 4
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 14: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
15: iload 3
aload 1
arraylength
if_icmplt 6
end local 3 16: aload 0
ldc "com.sun.naming.disable.app.resource.files"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 17: aload 3
ifnull 19
aload 3
ldc "true"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 19
18: aload 0
areturn
19: StackMap locals: java.util.Hashtable java.lang.String[] java.lang.String[] java.lang.String
StackMap stack:
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
20: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 env Ljava/util/Hashtable<**>;
1 21 1 props [Ljava/lang/String;
4 21 2 jndiSysProps [Ljava/lang/String;
5 16 3 i I
7 14 4 val Ljava/lang/Object;
17 21 3 disableAppRes Ljava/lang/String;
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/util/Hashtable<**>;)Ljava/util/Hashtable<**>;
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
Signature: (Ljava/lang/String;Ljava/util/Hashtable<**>;Ljavax/naming/Context;Z)Ljava/lang/String;
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
16: astore 7
start local 7 17: aload 7
ifnull 22
18: aload 7
invokeinterface java.util.List.size:()I
ifne 19
aconst_null
goto 20
19: 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
20: StackMap locals:
StackMap stack: com.sun.naming.internal.FactoryEnumeration
aload 6
monitorexit
21: areturn
22: 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 23: new java.util.ArrayList
dup
iconst_5
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
24: goto 30
25: StackMap locals: java.util.StringTokenizer
StackMap stack:
aload 8
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 9
start local 9 26: 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 27: 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 28: goto 30
StackMap locals:
StackMap stack: java.lang.Exception
29: pop
30: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 25
31: aload 5
aload 3
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
32: 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
33: areturn
end local 8 end local 7 34: 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
35: 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 36 0 propName Ljava/lang/String;
0 36 1 env Ljava/util/Hashtable<**>;
0 36 2 ctx Ljavax/naming/Context;
1 36 3 facProp Ljava/lang/String;
4 36 4 loader Ljava/lang/ClassLoader;
5 36 5 perLoaderCache Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Lcom/sun/naming/internal/NamedWeakReference<Ljava/lang/Object;>;>;>;
17 34 7 factories Ljava/util/List<Lcom/sun/naming/internal/NamedWeakReference<Ljava/lang/Object;>;>;
23 34 8 parser Ljava/util/StringTokenizer;
26 28 9 className Ljava/lang/String;
27 28 10 c Ljava/lang/Class<*>;
Exception table:
from to target type
6 11 12 any
12 13 12 any
25 28 29 Class java.lang.Exception
15 21 34 any
22 33 34 any
34 35 34 any
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/lang/String;Ljava/util/Hashtable<**>;Ljavax/naming/Context;)Lcom/sun/naming/internal/FactoryEnumeration;
MethodParameters:
Name Flags
propName
env
ctx
public static 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 44
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 14
start local 14 31: aload 14
astore 10
end local 14 32: goto 44
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
33: astore 14
start local 14 34: 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
35: astore 15
start local 15 36: aload 15
aload 14
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
37: aload 15
athrow
end local 15 end local 14 38: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 14
start local 14 39: 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
40: astore 15
start local 15 41: aload 15
aload 14
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
42: aload 15
athrow
end local 15 end local 14 43: StackMap locals:
StackMap stack: java.lang.Exception
pop
end local 13 44: StackMap locals:
StackMap stack:
aload 10
ifnonnull 45
aload 12
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 29
45: StackMap locals:
StackMap stack:
aload 8
aload 7
aload 10
ifnull 47
46: new java.lang.ref.WeakReference
dup
aload 10
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
goto 48
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
getstatic com.sun.naming.internal.ResourceManager.NO_FACTORY:Ljava/lang/ref/WeakReference;
48: 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
49: aload 10
aload 9
monitorexit
50: areturn
end local 12 end local 11 end local 10 51: 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
52: 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 53 0 propName Ljava/lang/String;
0 53 1 env Ljava/util/Hashtable<**>;
0 53 2 ctx Ljavax/naming/Context;
0 53 3 classSuffix Ljava/lang/String;
0 53 4 defaultPkgPrefix Ljava/lang/String;
1 53 5 facProp Ljava/lang/String;
5 53 6 loader Ljava/lang/ClassLoader;
6 53 7 key Ljava/lang/String;
7 53 8 perLoaderCache Ljava/util/Map<Ljava/lang/String;Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;>;
18 51 10 factory Ljava/lang/Object;
19 51 11 factoryRef Ljava/lang/ref/WeakReference<Ljava/lang/Object;>;
28 51 12 parser Ljava/util/StringTokenizer;
30 44 13 className Ljava/lang/String;
31 32 14 tmp Ljava/lang/Object;
34 38 14 e Ljava/lang/InstantiationException;
36 38 15 ne Ljavax/naming/NamingException;
39 43 14 e Ljava/lang/IllegalAccessException;
41 43 15 ne Ljavax/naming/NamingException;
Exception table:
from to target type
8 13 14 any
14 15 14 any
30 32 33 Class java.lang.InstantiationException
30 32 38 Class java.lang.IllegalAccessException
30 32 43 Class java.lang.Exception
17 21 51 any
22 26 51 any
27 50 51 any
51 52 51 any
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/lang/String;Ljava/util/Hashtable<**>;Ljavax/naming/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
MethodParameters:
Name Flags
propName
env
ctx
classSuffix
defaultPkgPrefix
private static java.util.Hashtable<? super java.lang.String, java.lang.Object> getProviderResource();
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
5: astore 3
start local 3 6: aload 3
ifnull 9
7: aload 3
aload 1
monitorexit
8: areturn
9: 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
10: 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;
11: astore 4
start local 4 12: aload 4
ifnull 21
13: aload 3
checkcast java.util.Properties
aload 4
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
14: goto 21
StackMap locals: java.lang.Object java.util.WeakHashMap java.lang.Class java.util.Hashtable java.io.InputStream
StackMap stack: java.io.IOException
15: astore 5
start local 5 16: new javax.naming.ConfigurationException
dup
17: 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;
18: invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 19: aload 6
aload 5
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
20: aload 6
athrow
end local 6 end local 5 21: 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
22: aload 3
aload 1
monitorexit
23: areturn
end local 4 end local 3 end local 2 24: StackMap locals: java.lang.Object java.util.WeakHashMap
StackMap stack: java.lang.Throwable
aload 1
monitorexit
25: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 obj Ljava/lang/Object;
4 24 2 c Ljava/lang/Class<*>;
6 24 3 props Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;
12 24 4 istream Ljava/io/InputStream;
16 21 5 e Ljava/io/IOException;
19 21 6 ne Ljavax/naming/NamingException;
Exception table:
from to target type
13 14 15 Class java.io.IOException
3 8 24 any
9 23 24 any
24 25 24 any
Exceptions:
throws javax.naming.NamingException
Signature: (Ljava/lang/Object;)Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;
MethodParameters:
Name Flags
obj
private static java.util.Hashtable<? super java.lang.String, java.lang.Object> getApplicationResources();
descriptor: ()Ljava/util/Hashtable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, 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 21
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 3
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast java.io.InputStream
astore 5
start local 5 11: aload 4
aload 5
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
12: goto 16
StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable javax.naming.NamingEnumeration java.util.Properties java.io.InputStream
StackMap stack: java.lang.Throwable
13: astore 6
14: aload 5
invokevirtual java.io.InputStream.close:()V
15: aload 6
athrow
16: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.io.InputStream.close:()V
17: aload 2
ifnonnull 20
18: aload 4
astore 2
19: goto 21
20: StackMap locals:
StackMap stack:
aload 2
aload 4
invokestatic com.sun.naming.internal.ResourceManager.mergeTables:(Ljava/util/Hashtable;Ljava/util/Hashtable;)V
end local 5 end local 4 21: StackMap locals:
StackMap stack:
aload 3
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 9
22: goto 29
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 7
24: goto 26
25: StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable javax.naming.NamingEnumeration top top top java.lang.Throwable
StackMap stack:
aload 3
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast java.io.InputStream
invokevirtual java.io.InputStream.close:()V
26: StackMap locals:
StackMap stack:
aload 3
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 25
27: aload 7
athrow
28: StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable javax.naming.NamingEnumeration
StackMap stack:
aload 3
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast java.io.InputStream
invokevirtual java.io.InputStream.close:()V
29: StackMap locals:
StackMap stack:
aload 3
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 28
30: getstatic com.sun.naming.internal.ResourceManager.helper:Lcom/sun/naming/internal/VersionHelper;
ldc "jndi.properties"
invokevirtual com.sun.naming.internal.VersionHelper.getJavaHomeConfStream:(Ljava/lang/String;)Ljava/io/InputStream;
31: astore 4
start local 4 32: aload 4
ifnull 51
33: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 5
start local 5 34: aload 5
aload 4
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
35: aload 2
ifnonnull 38
36: aload 5
astore 2
37: goto 43
38: 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 39: goto 43
StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable javax.naming.NamingEnumeration java.io.InputStream
StackMap stack: java.lang.Throwable
40: astore 6
41: aload 4
invokevirtual java.io.InputStream.close:()V
42: aload 6
athrow
43: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.io.InputStream.close:()V
end local 4 end local 3 44: goto 51
StackMap locals: java.lang.ClassLoader java.util.WeakHashMap java.util.Hashtable
StackMap stack: java.io.IOException
45: astore 3
start local 3 46: new javax.naming.ConfigurationException
dup
47: ldc "Error reading application resource file"
48: invokespecial javax.naming.ConfigurationException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 49: aload 4
aload 3
invokevirtual javax.naming.NamingException.setRootCause:(Ljava/lang/Throwable;)V
50: aload 4
athrow
end local 4 end local 3 51: StackMap locals:
StackMap stack:
aload 2
ifnonnull 53
52: new java.util.Hashtable
dup
bipush 11
invokespecial java.util.Hashtable.<init>:(I)V
astore 2
53: 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
54: aload 2
aload 1
monitorexit
55: areturn
end local 2 56: StackMap locals: java.lang.ClassLoader java.util.WeakHashMap
StackMap stack: java.lang.Throwable
aload 1
monitorexit
57: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 58 0 cl Ljava/lang/ClassLoader;
3 56 2 result Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;
8 44 3 resources Ljavax/naming/NamingEnumeration<Ljava/io/InputStream;>;
10 21 4 props Ljava/util/Properties;
11 21 5 istream Ljava/io/InputStream;
32 44 4 istream Ljava/io/InputStream;
34 39 5 props Ljava/util/Properties;
46 51 3 e Ljava/io/IOException;
49 51 4 ne Ljavax/naming/NamingException;
Exception table:
from to target type
11 13 13 any
8 23 23 any
33 40 40 any
6 44 45 Class java.io.IOException
2 5 56 any
6 55 56 any
56 57 56 any
Exceptions:
throws javax.naming.NamingException
Signature: ()Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;
private static void mergeTables(java.util.Hashtable<? super java.lang.String, java.lang.Object>, java.util.Hashtable<? super java.lang.String, java.lang.Object>);
descriptor: (Ljava/util/Hashtable;Ljava/util/Hashtable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.Hashtable.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: java.util.Hashtable java.util.Hashtable top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 2
start local 2 2: aload 2
checkcast java.lang.String
astore 4
start local 4 3: aload 0
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 4: aload 5
ifnonnull 7
5: aload 0
aload 4
aload 1
aload 4
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.util.Hashtable java.util.Hashtable java.lang.Object java.util.Iterator java.lang.String java.lang.Object
StackMap stack:
7: aload 4
invokestatic com.sun.naming.internal.ResourceManager.isListProperty:(Ljava/lang/String;)Z
ifeq 10
8: aload 1
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 9: aload 0
aload 4
new java.lang.StringBuilder
dup
aload 5
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 6
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 6 end local 5 end local 4 end local 2 10: StackMap locals: java.util.Hashtable java.util.Hashtable top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 props1 Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;
0 12 1 props2 Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;
2 10 2 key Ljava/lang/Object;
3 10 4 prop Ljava/lang/String;
4 10 5 val1 Ljava/lang/Object;
9 10 6 val2 Ljava/lang/String;
Signature: (Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;Ljava/util/Hashtable<-Ljava/lang/String;Ljava/lang/Object;>;)V
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"