public abstract class org.apache.naming.factory.FactoryBase implements javax.naming.spi.ObjectFactory
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.naming.factory.FactoryBase
super_class: java.lang.Object
{
private static final org.apache.naming.StringManager sm;
descriptor: Lorg/apache/naming/StringManager;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/naming/factory/FactoryBase;
invokestatic org.apache.naming.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/naming/StringManager;
putstatic org.apache.naming.factory.FactoryBase.sm:Lorg/apache/naming/StringManager;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/naming/factory/FactoryBase;
public final getObjectInstance(, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>);
descriptor: (Ljava/lang/Object;Ljavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokevirtual org.apache.naming.factory.FactoryBase.isReferenceTypeSupported:(Ljava/lang/Object;)Z
ifeq 36
1: aload 1
checkcast javax.naming.Reference
astore 5
start local 5 2: aload 0
aload 5
invokevirtual org.apache.naming.factory.FactoryBase.getLinked:(Ljavax/naming/Reference;)Ljava/lang/Object;
astore 6
start local 6 3: aload 6
ifnull 5
4: aload 6
areturn
5: StackMap locals: javax.naming.Reference java.lang.Object
StackMap stack:
aconst_null
astore 7
start local 7 6: aload 5
ldc "factory"
invokevirtual javax.naming.Reference.get:(Ljava/lang/String;)Ljavax/naming/RefAddr;
astore 8
start local 8 7: aload 8
ifnull 32
8: aload 8
invokevirtual javax.naming.RefAddr.getContent:()Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 9
start local 9 9: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 10
start local 10 10: aconst_null
astore 11
start local 11 11: aload 10
ifnull 14
12: aload 10
aload 9
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 11
13: goto 20
14: StackMap locals: org.apache.naming.factory.FactoryBase java.lang.Object javax.naming.Name javax.naming.Context java.util.Hashtable javax.naming.Reference java.lang.Object javax.naming.spi.ObjectFactory javax.naming.RefAddr java.lang.String java.lang.ClassLoader java.lang.Class
StackMap stack:
aload 9
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 11
15: goto 20
StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
16: astore 12
start local 12 17: new javax.naming.NamingException
dup
getstatic org.apache.naming.factory.FactoryBase.sm:Lorg/apache/naming/StringManager;
ldc "factoryBase.factoryClassError"
invokevirtual org.apache.naming.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 13
start local 13 18: aload 13
aload 12
invokevirtual javax.naming.NamingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
19: aload 13
athrow
end local 13 end local 12 20: StackMap locals:
StackMap stack:
aload 11
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.naming.spi.ObjectFactory
astore 7
21: goto 33
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 12
start local 12 23: aload 12
instanceof javax.naming.NamingException
ifeq 25
24: aload 12
checkcast javax.naming.NamingException
athrow
25: StackMap locals: java.lang.Throwable
StackMap stack:
aload 12
instanceof java.lang.ThreadDeath
ifeq 27
26: aload 12
checkcast java.lang.ThreadDeath
athrow
27: StackMap locals:
StackMap stack:
aload 12
instanceof java.lang.VirtualMachineError
ifeq 29
28: aload 12
checkcast java.lang.VirtualMachineError
athrow
29: StackMap locals:
StackMap stack:
new javax.naming.NamingException
dup
getstatic org.apache.naming.factory.FactoryBase.sm:Lorg/apache/naming/StringManager;
ldc "factoryBase.factoryCreationError"
invokevirtual org.apache.naming.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
astore 13
start local 13 30: aload 13
aload 12
invokevirtual javax.naming.NamingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
31: aload 13
athrow
end local 13 end local 12 end local 11 end local 10 end local 9 32: StackMap locals: org.apache.naming.factory.FactoryBase java.lang.Object javax.naming.Name javax.naming.Context java.util.Hashtable javax.naming.Reference java.lang.Object javax.naming.spi.ObjectFactory javax.naming.RefAddr
StackMap stack:
aload 0
aload 5
invokevirtual org.apache.naming.factory.FactoryBase.getDefaultFactory:(Ljavax/naming/Reference;)Ljavax/naming/spi/ObjectFactory;
astore 7
33: StackMap locals:
StackMap stack:
aload 7
ifnull 35
34: aload 7
aload 1
aload 2
aload 3
aload 4
invokeinterface javax.naming.spi.ObjectFactory.getObjectInstance:(Ljava/lang/Object;Ljavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable;)Ljava/lang/Object;
areturn
35: StackMap locals:
StackMap stack:
new javax.naming.NamingException
dup
getstatic org.apache.naming.factory.FactoryBase.sm:Lorg/apache/naming/StringManager;
ldc "factoryBase.instanceCreationError"
invokevirtual org.apache.naming.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial javax.naming.NamingException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 end local 6 end local 5 36: StackMap locals: org.apache.naming.factory.FactoryBase java.lang.Object javax.naming.Name javax.naming.Context java.util.Hashtable
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/apache/naming/factory/FactoryBase;
0 37 1 obj Ljava/lang/Object;
0 37 2 name Ljavax/naming/Name;
0 37 3 nameCtx Ljavax/naming/Context;
0 37 4 environment Ljava/util/Hashtable<**>;
2 36 5 ref Ljavax/naming/Reference;
3 36 6 linked Ljava/lang/Object;
6 36 7 factory Ljavax/naming/spi/ObjectFactory;
7 36 8 factoryRefAddr Ljavax/naming/RefAddr;
9 32 9 factoryClassName Ljava/lang/String;
10 32 10 tcl Ljava/lang/ClassLoader;
11 32 11 factoryClass Ljava/lang/Class<*>;
17 20 12 e Ljava/lang/ClassNotFoundException;
18 20 13 ex Ljavax/naming/NamingException;
23 32 12 t Ljava/lang/Throwable;
30 32 13 ex Ljavax/naming/NamingException;
Exception table:
from to target type
11 15 16 Class java.lang.ClassNotFoundException
20 21 22 Class java.lang.Throwable
Exceptions:
throws java.lang.Exception
Signature: (Ljava/lang/Object;Ljavax/naming/Name;Ljavax/naming/Context;Ljava/util/Hashtable<**>;)Ljava/lang/Object;
MethodParameters:
Name Flags
obj
name
nameCtx
environment
protected abstract boolean isReferenceTypeSupported(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
obj
protected abstract javax.naming.spi.ObjectFactory getDefaultFactory(javax.naming.Reference);
descriptor: (Ljavax/naming/Reference;)Ljavax/naming/spi/ObjectFactory;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
ref
protected abstract java.lang.Object getLinked(javax.naming.Reference);
descriptor: (Ljavax/naming/Reference;)Ljava/lang/Object;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
ref
}
SourceFile: "FactoryBase.java"