public class javax.sql.rowset.spi.SyncFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.sql.rowset.spi.SyncFactory
super_class: java.lang.Object
{
private static javax.sql.rowset.spi.SyncFactory syncFactory;
descriptor: Ljavax/sql/rowset/spi/SyncFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public static java.lang.String ROWSET_SYNC_PROVIDER;
descriptor: Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public static java.lang.String ROWSET_SYNC_VENDOR;
descriptor: Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
public static java.lang.String ROWSET_SYNC_PROVIDER_VERSION;
descriptor: Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
private static java.lang.String ROWSET_PROPERTIES;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String default_provider;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static javax.naming.Context ic;
descriptor: Ljavax/naming/Context;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.logging.Logger rsLogger;
descriptor: Ljava/util/logging/Logger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.logging.Level rsLevel;
descriptor: Ljava/util/logging/Level;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.util.Hashtable implementations;
descriptor: Ljava/util/Hashtable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.Object logSync;
descriptor: Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.io.PrintWriter logWriter;
descriptor: Ljava/io/PrintWriter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String colon;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String strFileSep;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean jndiCtxEstablished;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean debug;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int providerImplIndex;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean lazyJNDICtxRefresh;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: aconst_null
putstatic javax.sql.rowset.spi.SyncFactory.syncFactory:Ljavax/sql/rowset/spi/SyncFactory;
1: ldc "rowset.provider.classname"
2: putstatic javax.sql.rowset.spi.SyncFactory.ROWSET_SYNC_PROVIDER:Ljava/lang/String;
3: ldc "rowset.provider.vendor"
4: putstatic javax.sql.rowset.spi.SyncFactory.ROWSET_SYNC_VENDOR:Ljava/lang/String;
5: ldc "rowset.provider.version"
6: putstatic javax.sql.rowset.spi.SyncFactory.ROWSET_SYNC_PROVIDER_VERSION:Ljava/lang/String;
7: ldc "rowset.properties"
putstatic javax.sql.rowset.spi.SyncFactory.ROWSET_PROPERTIES:Ljava/lang/String;
8: ldc "com.sun.rowset.providers.RIOptimisticProvider"
9: putstatic javax.sql.rowset.spi.SyncFactory.default_provider:Ljava/lang/String;
10: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic javax.sql.rowset.spi.SyncFactory.logSync:Ljava/lang/Object;
11: aconst_null
putstatic javax.sql.rowset.spi.SyncFactory.logWriter:Ljava/io/PrintWriter;
12: ldc ":"
putstatic javax.sql.rowset.spi.SyncFactory.colon:Ljava/lang/String;
13: ldc "/"
putstatic javax.sql.rowset.spi.SyncFactory.strFileSep:Ljava/lang/String;
14: iconst_0
putstatic javax.sql.rowset.spi.SyncFactory.jndiCtxEstablished:Z
15: iconst_0
putstatic javax.sql.rowset.spi.SyncFactory.debug:Z
16: iconst_0
putstatic javax.sql.rowset.spi.SyncFactory.providerImplIndex:I
17: iconst_0
putstatic javax.sql.rowset.spi.SyncFactory.lazyJNDICtxRefresh:Z
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
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljavax/sql/rowset/spi/SyncFactory;
public static synchronized void registerProvider(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: new javax.sql.rowset.spi.ProviderImpl
dup
invokespecial javax.sql.rowset.spi.ProviderImpl.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
invokevirtual javax.sql.rowset.spi.ProviderImpl.setClassname:(Ljava/lang/String;)V
2: invokestatic javax.sql.rowset.spi.SyncFactory.initMapIfNecessary:()V
3: getstatic javax.sql.rowset.spi.SyncFactory.implementations:Ljava/util/Hashtable;
aload 0
aload 1
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 providerID Ljava/lang/String;
1 5 1 impl Ljavax/sql/rowset/spi/ProviderImpl;
Exceptions:
throws javax.sql.rowset.spi.SyncFactoryException
MethodParameters:
Name Flags
providerID
public static javax.sql.rowset.spi.SyncFactory getSyncFactory();
descriptor: ()Ljavax/sql/rowset/spi/SyncFactory;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: getstatic javax.sql.rowset.spi.SyncFactory.syncFactory:Ljavax/sql/rowset/spi/SyncFactory;
ifnonnull 8
1: ldc Ljavax/sql/rowset/spi/SyncFactory;
dup
astore 0
monitorenter
2: getstatic javax.sql.rowset.spi.SyncFactory.syncFactory:Ljavax/sql/rowset/spi/SyncFactory;
ifnonnull 4
3: new javax.sql.rowset.spi.SyncFactory
dup
invokespecial javax.sql.rowset.spi.SyncFactory.<init>:()V
putstatic javax.sql.rowset.spi.SyncFactory.syncFactory:Ljavax/sql/rowset/spi/SyncFactory;
4: StackMap locals: java.lang.Class
StackMap stack:
aload 0
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 0
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
getstatic javax.sql.rowset.spi.SyncFactory.syncFactory:Ljavax/sql/rowset/spi/SyncFactory;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 5 6 any
6 7 6 any
public static synchronized void unregisterProvider(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic javax.sql.rowset.spi.SyncFactory.initMapIfNecessary:()V
1: getstatic javax.sql.rowset.spi.SyncFactory.implementations:Ljava/util/Hashtable;
aload 0
invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
ifeq 3
2: getstatic javax.sql.rowset.spi.SyncFactory.implementations:Ljava/util/Hashtable;
aload 0
invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 providerID Ljava/lang/String;
Exceptions:
throws javax.sql.rowset.spi.SyncFactoryException
MethodParameters:
Name Flags
providerID
private static synchronized void initMapIfNecessary();
descriptor: ()V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=6, args_size=0
0: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 0
start local 0 1: getstatic javax.sql.rowset.spi.SyncFactory.implementations:Ljava/util/Hashtable;
ifnonnull 48
2: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putstatic javax.sql.rowset.spi.SyncFactory.implementations:Ljava/util/Hashtable;
3: new javax.sql.rowset.spi.SyncFactory$1
dup
invokespecial javax.sql.rowset.spi.SyncFactory$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 4: goto 8
end local 1 StackMap locals: java.util.Properties
StackMap stack: java.lang.Exception
5: astore 2
start local 2 6: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "errorget rowset.properties: "
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;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: aconst_null
astore 1
end local 2 start local 1 8: StackMap locals: java.lang.String
StackMap stack:
aload 1
ifnull 12
9: aload 1
putstatic javax.sql.rowset.spi.SyncFactory.ROWSET_PROPERTIES:Ljava/lang/String;
10: aload 0
new java.io.FileInputStream
dup
getstatic javax.sql.rowset.spi.SyncFactory.ROWSET_PROPERTIES:Ljava/lang/String;
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
11: aload 0
invokestatic javax.sql.rowset.spi.SyncFactory.parseProperties:(Ljava/util/Properties;)V
12: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "javax"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic javax.sql.rowset.spi.SyncFactory.strFileSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "sql"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: getstatic javax.sql.rowset.spi.SyncFactory.strFileSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "rowset"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic javax.sql.rowset.spi.SyncFactory.strFileSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: ldc "rowset.properties"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic javax.sql.rowset.spi.SyncFactory.ROWSET_PROPERTIES:Ljava/lang/String;
16: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 17: new javax.sql.rowset.spi.SyncFactory$2
dup
aload 2
aload 0
invokespecial javax.sql.rowset.spi.SyncFactory$2.<init>:(Ljava/lang/ClassLoader;Ljava/util/Properties;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
18: goto 26
StackMap locals: java.util.Properties java.lang.String java.lang.ClassLoader
StackMap stack: java.security.PrivilegedActionException
19: astore 3
start local 3 20: aload 3
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
astore 4
start local 4 21: aload 4
instanceof javax.sql.rowset.spi.SyncFactoryException
ifeq 23
22: aload 4
checkcast javax.sql.rowset.spi.SyncFactoryException
athrow
23: StackMap locals: java.security.PrivilegedActionException java.lang.Throwable
StackMap stack:
new javax.sql.rowset.spi.SyncFactoryException
dup
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:()V
astore 5
start local 5 24: aload 5
aload 3
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
invokevirtual javax.sql.rowset.spi.SyncFactoryException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
25: aload 5
athrow
end local 5 end local 4 end local 3 26: StackMap locals:
StackMap stack:
aload 0
invokestatic javax.sql.rowset.spi.SyncFactory.parseProperties:(Ljava/util/Properties;)V
end local 2 end local 1 27: goto 32
StackMap locals: java.util.Properties
StackMap stack: java.io.FileNotFoundException
28: astore 1
start local 1 29: new javax.sql.rowset.spi.SyncFactoryException
dup
new java.lang.StringBuilder
dup
ldc "Cannot locate properties file: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:(Ljava/lang/String;)V
athrow
end local 1 30: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 31: new javax.sql.rowset.spi.SyncFactoryException
dup
new java.lang.StringBuilder
dup
ldc "IOException: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:(Ljava/lang/String;)V
athrow
end local 1 32: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.Properties.clear:()V
33: new javax.sql.rowset.spi.SyncFactory$3
dup
invokespecial javax.sql.rowset.spi.SyncFactory$3.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 1
start local 1 34: goto 37
end local 1 StackMap locals:
StackMap stack: java.lang.Exception
35: pop
36: aconst_null
astore 1
start local 1 37: StackMap locals: java.lang.String
StackMap stack:
aload 1
ifnull 48
38: iconst_0
istore 2
start local 2 39: aload 1
getstatic javax.sql.rowset.spi.SyncFactory.colon:Ljava/lang/String;
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
ifle 46
40: new java.util.StringTokenizer
dup
aload 1
getstatic javax.sql.rowset.spi.SyncFactory.colon:Ljava/lang/String;
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 3
start local 3 41: goto 44
42: StackMap locals: int java.util.StringTokenizer
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
getstatic javax.sql.rowset.spi.SyncFactory.ROWSET_SYNC_PROVIDER:Ljava/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;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
43: iinc 2 1
44: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreElements:()Z
ifne 42
end local 3 45: goto 47
46: StackMap locals:
StackMap stack:
aload 0
getstatic javax.sql.rowset.spi.SyncFactory.ROWSET_SYNC_PROVIDER:Ljava/lang/String;
aload 1
invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
47: StackMap locals:
StackMap stack:
aload 0
invokestatic javax.sql.rowset.spi.SyncFactory.parseProperties:(Ljava/util/Properties;)V
end local 2 end local 1 48: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 49 0 properties Ljava/util/Properties;
4 5 1 strRowsetProperties Ljava/lang/String;
8 27 1 strRowsetProperties Ljava/lang/String;
6 8 2 ex Ljava/lang/Exception;
17 27 2 cl Ljava/lang/ClassLoader;
20 26 3 ex Ljava/security/PrivilegedActionException;
21 26 4 e Ljava/lang/Throwable;
24 26 5 sfe Ljavax/sql/rowset/spi/SyncFactoryException;
29 30 1 e Ljava/io/FileNotFoundException;
31 32 1 e Ljava/io/IOException;
34 35 1 providerImpls Ljava/lang/String;
37 48 1 providerImpls Ljava/lang/String;
39 48 2 i I
41 45 3 tokenizer Ljava/util/StringTokenizer;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
17 18 19 Class java.security.PrivilegedActionException
3 27 28 Class java.io.FileNotFoundException
3 27 30 Class java.io.IOException
33 34 35 Class java.lang.Exception
Exceptions:
throws javax.sql.rowset.spi.SyncFactoryException
private static void parseProperties(java.util.Properties);
descriptor: (Ljava/util/Properties;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aload 0
invokevirtual java.util.Properties.propertyNames:()Ljava/util/Enumeration;
astore 4
start local 4 4: goto 19
5: StackMap locals: java.util.Properties javax.sql.rowset.spi.ProviderImpl java.lang.String java.lang.String[] java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 6: aload 5
invokevirtual java.lang.String.length:()I
istore 6
start local 6 7: aload 5
getstatic javax.sql.rowset.spi.SyncFactory.ROWSET_SYNC_PROVIDER:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 19
8: new javax.sql.rowset.spi.ProviderImpl
dup
invokespecial javax.sql.rowset.spi.ProviderImpl.<init>:()V
astore 1
9: aload 1
getstatic javax.sql.rowset.spi.SyncFactory.providerImplIndex:I
dup
iconst_1
iadd
putstatic javax.sql.rowset.spi.SyncFactory.providerImplIndex:I
invokevirtual javax.sql.rowset.spi.ProviderImpl.setIndex:(I)V
10: iload 6
getstatic javax.sql.rowset.spi.SyncFactory.ROWSET_SYNC_PROVIDER:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpne 13
11: iconst_0
invokestatic javax.sql.rowset.spi.SyncFactory.getPropertyNames:(Z)[Ljava/lang/String;
astore 3
12: goto 14
13: StackMap locals: java.lang.String int
StackMap stack:
iconst_1
aload 5
iload 6
iconst_1
isub
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic javax.sql.rowset.spi.SyncFactory.getPropertyNames:(ZLjava/lang/String;)[Ljava/lang/String;
astore 3
14: StackMap locals:
StackMap stack:
aload 0
aload 3
iconst_0
aaload
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
15: aload 1
aload 2
invokevirtual javax.sql.rowset.spi.ProviderImpl.setClassname:(Ljava/lang/String;)V
16: aload 1
aload 0
aload 3
iconst_1
aaload
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual javax.sql.rowset.spi.ProviderImpl.setVendor:(Ljava/lang/String;)V
17: aload 1
aload 0
aload 3
iconst_2
aaload
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual javax.sql.rowset.spi.ProviderImpl.setVersion:(Ljava/lang/String;)V
18: getstatic javax.sql.rowset.spi.SyncFactory.implementations:Ljava/util/Hashtable;
aload 2
aload 1
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 6 end local 5 19: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 5
end local 4 20: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 p Ljava/util/Properties;
1 21 1 impl Ljavax/sql/rowset/spi/ProviderImpl;
2 21 2 key Ljava/lang/String;
3 21 3 propertyNames [Ljava/lang/String;
4 20 4 e Ljava/util/Enumeration;
6 19 5 str Ljava/lang/String;
7 19 6 w I
MethodParameters:
Name Flags
p
private static java.lang.String[] getPropertyNames(boolean);
descriptor: (Z)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
aconst_null
invokestatic javax.sql.rowset.spi.SyncFactory.getPropertyNames:(ZLjava/lang/String;)[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 append Z
MethodParameters:
Name Flags
append
private static java.lang.String[] getPropertyNames(boolean, java.lang.String);
descriptor: (ZLjava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: ldc "."
astore 2
start local 2 1: iconst_3
anewarray java.lang.String
dup
iconst_0
getstatic javax.sql.rowset.spi.SyncFactory.ROWSET_SYNC_PROVIDER:Ljava/lang/String;
aastore
dup
iconst_1
2: getstatic javax.sql.rowset.spi.SyncFactory.ROWSET_SYNC_VENDOR:Ljava/lang/String;
aastore
dup
iconst_2
3: getstatic javax.sql.rowset.spi.SyncFactory.ROWSET_SYNC_PROVIDER_VERSION:Ljava/lang/String;
aastore
4: astore 3
start local 3 5: iload 0
ifeq 15
6: iconst_0
istore 4
start local 4 7: goto 13
8: StackMap locals: java.lang.String java.lang.String[] int
StackMap stack:
aload 3
iload 4
new java.lang.StringBuilder
dup
aload 3
iload 4
aaload
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: aastore
12: iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
aload 3
arraylength
if_icmplt 8
end local 4 14: aload 3
areturn
15: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 append Z
0 16 1 propertyIndex Ljava/lang/String;
1 16 2 dot Ljava/lang/String;
5 16 3 propertyNames [Ljava/lang/String;
7 14 4 i I
MethodParameters:
Name Flags
append
propertyIndex
private static void showImpl(javax.sql.rowset.spi.ProviderImpl);
descriptor: (Ljavax/sql/rowset/spi/ProviderImpl;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Provider implementation:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Classname: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.sql.rowset.spi.ProviderImpl.getClassname:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Vendor: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.sql.rowset.spi.ProviderImpl.getVendor:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Version: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.sql.rowset.spi.ProviderImpl.getVersion:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Impl index: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.sql.rowset.spi.ProviderImpl.getIndex:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 impl Ljavax/sql/rowset/spi/ProviderImpl;
MethodParameters:
Name Flags
impl
public static javax.sql.rowset.spi.SyncProvider getInstance(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/sql/rowset/spi/SyncProvider;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: invokestatic javax.sql.rowset.spi.SyncFactory.initMapIfNecessary:()V
1: invokestatic javax.sql.rowset.spi.SyncFactory.initJNDIContext:()V
2: getstatic javax.sql.rowset.spi.SyncFactory.implementations:Ljava/util/Hashtable;
aload 0
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.sql.rowset.spi.ProviderImpl
astore 1
start local 1 3: aload 1
ifnonnull 5
4: new com.sun.rowset.providers.RIOptimisticProvider
dup
invokespecial com.sun.rowset.providers.RIOptimisticProvider.<init>:()V
areturn
5: StackMap locals: javax.sql.rowset.spi.ProviderImpl
StackMap stack:
aload 0
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/String;)V
6: goto 11
StackMap locals:
StackMap stack: java.security.AccessControlException
7: astore 2
start local 2 8: new javax.sql.rowset.spi.SyncFactoryException
dup
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:()V
astore 3
start local 3 9: aload 3
aload 2
invokevirtual javax.sql.rowset.spi.SyncFactoryException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
10: aload 3
athrow
end local 3 end local 2 11: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 12: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 3
start local 3 13: aload 0
iconst_1
aload 3
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 2
14: aload 2
ifnull 17
15: aload 2
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast javax.sql.rowset.spi.SyncProvider
16: areturn
17: StackMap locals: java.lang.Class java.lang.ClassLoader
StackMap stack:
new com.sun.rowset.providers.RIOptimisticProvider
dup
invokespecial com.sun.rowset.providers.RIOptimisticProvider.<init>:()V
18: areturn
end local 3 19: StackMap locals: java.lang.String javax.sql.rowset.spi.ProviderImpl java.lang.Class
StackMap stack: java.lang.IllegalAccessException
astore 3
start local 3 20: new javax.sql.rowset.spi.SyncFactoryException
dup
new java.lang.StringBuilder
dup
ldc "IllegalAccessException: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:(Ljava/lang/String;)V
athrow
end local 3 21: StackMap locals:
StackMap stack: java.lang.InstantiationException
astore 3
start local 3 22: new javax.sql.rowset.spi.SyncFactoryException
dup
new java.lang.StringBuilder
dup
ldc "InstantiationException: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.InstantiationException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:(Ljava/lang/String;)V
athrow
end local 3 23: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 3
start local 3 24: new javax.sql.rowset.spi.SyncFactoryException
dup
new java.lang.StringBuilder
dup
ldc "ClassNotFoundException: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 providerID Ljava/lang/String;
3 25 1 impl Ljavax/sql/rowset/spi/ProviderImpl;
8 11 2 e Ljava/security/AccessControlException;
9 11 3 sfe Ljavax/sql/rowset/spi/SyncFactoryException;
12 25 2 c Ljava/lang/Class;
13 19 3 cl Ljava/lang/ClassLoader;
20 21 3 e Ljava/lang/IllegalAccessException;
22 23 3 e Ljava/lang/InstantiationException;
24 25 3 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
5 6 7 Class java.security.AccessControlException
12 16 19 Class java.lang.IllegalAccessException
17 18 19 Class java.lang.IllegalAccessException
12 16 21 Class java.lang.InstantiationException
17 18 21 Class java.lang.InstantiationException
12 16 23 Class java.lang.ClassNotFoundException
17 18 23 Class java.lang.ClassNotFoundException
Exceptions:
throws javax.sql.rowset.spi.SyncFactoryException
MethodParameters:
Name Flags
providerID
public static java.util.Enumeration<javax.sql.rowset.spi.SyncProvider> getRegisteredProviders();
descriptor: ()Ljava/util/Enumeration;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic javax.sql.rowset.spi.SyncFactory.initMapIfNecessary:()V
1: getstatic javax.sql.rowset.spi.SyncFactory.implementations:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws javax.sql.rowset.spi.SyncFactoryException
Signature: ()Ljava/util/Enumeration<Ljavax/sql/rowset/spi/SyncProvider;>;
public static void setLogger(java.util.logging.Logger);
descriptor: (Ljava/util/logging/Logger;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
putstatic javax.sql.rowset.spi.SyncFactory.rsLogger:Ljava/util/logging/Logger;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 logger Ljava/util/logging/Logger;
MethodParameters:
Name Flags
logger
public static void setLogger(java.util.logging.Logger, java.util.logging.Level);
descriptor: (Ljava/util/logging/Logger;Ljava/util/logging/Level;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
putstatic javax.sql.rowset.spi.SyncFactory.rsLogger:Ljava/util/logging/Logger;
1: getstatic javax.sql.rowset.spi.SyncFactory.rsLogger:Ljava/util/logging/Logger;
aload 1
invokevirtual java.util.logging.Logger.setLevel:(Ljava/util/logging/Level;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 logger Ljava/util/logging/Logger;
0 3 1 level Ljava/util/logging/Level;
MethodParameters:
Name Flags
logger
level
public static java.util.logging.Logger getLogger();
descriptor: ()Ljava/util/logging/Logger;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic javax.sql.rowset.spi.SyncFactory.rsLogger:Ljava/util/logging/Logger;
ifnonnull 2
1: new javax.sql.rowset.spi.SyncFactoryException
dup
ldc "(SyncFactory) : No logger has been set"
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic javax.sql.rowset.spi.SyncFactory.rsLogger:Ljava/util/logging/Logger;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws javax.sql.rowset.spi.SyncFactoryException
public static void setJNDIContext(javax.naming.Context);
descriptor: (Ljavax/naming/Context;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new javax.sql.rowset.spi.SyncFactoryException
dup
ldc "Invalid JNDI context supplied"
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
putstatic javax.sql.rowset.spi.SyncFactory.ic:Ljavax/naming/Context;
3: iconst_1
putstatic javax.sql.rowset.spi.SyncFactory.jndiCtxEstablished:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 ctx Ljavax/naming/Context;
Exceptions:
throws javax.sql.rowset.spi.SyncFactoryException
MethodParameters:
Name Flags
ctx
private static void initJNDIContext();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=0
0: getstatic javax.sql.rowset.spi.SyncFactory.jndiCtxEstablished:Z
ifeq 10
getstatic javax.sql.rowset.spi.SyncFactory.ic:Ljavax/naming/Context;
ifnull 10
getstatic javax.sql.rowset.spi.SyncFactory.lazyJNDICtxRefresh:Z
ifne 10
1: invokestatic javax.sql.rowset.spi.SyncFactory.parseJNDIContext:()Ljava/util/Properties;
invokestatic javax.sql.rowset.spi.SyncFactory.parseProperties:(Ljava/util/Properties;)V
2: iconst_1
putstatic javax.sql.rowset.spi.SyncFactory.lazyJNDICtxRefresh:Z
3: goto 10
StackMap locals:
StackMap stack: javax.naming.NamingException
4: astore 0
start local 0 5: aload 0
invokevirtual javax.naming.NamingException.printStackTrace:()V
6: new javax.sql.rowset.spi.SyncFactoryException
dup
new java.lang.StringBuilder
dup
ldc "SPI: NamingException: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual javax.naming.NamingException.getExplanation:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:(Ljava/lang/String;)V
athrow
end local 0 7: StackMap locals:
StackMap stack: java.lang.Exception
astore 0
start local 0 8: aload 0
invokevirtual java.lang.Exception.printStackTrace:()V
9: new javax.sql.rowset.spi.SyncFactoryException
dup
new java.lang.StringBuilder
dup
ldc "SPI: Exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:(Ljava/lang/String;)V
athrow
end local 0 10: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
5 7 0 e Ljavax/naming/NamingException;
8 10 0 e Ljava/lang/Exception;
Exception table:
from to target type
1 3 4 Class javax.naming.NamingException
1 3 7 Class java.lang.Exception
Exceptions:
throws javax.sql.rowset.spi.SyncFactoryException
private static java.util.Properties parseJNDIContext();
descriptor: ()Ljava/util/Properties;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: getstatic javax.sql.rowset.spi.SyncFactory.ic:Ljavax/naming/Context;
ldc ""
invokeinterface javax.naming.Context.listBindings:(Ljava/lang/String;)Ljavax/naming/NamingEnumeration;
astore 0
start local 0 1: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 1
start local 1 2: aload 0
aload 1
invokestatic javax.sql.rowset.spi.SyncFactory.enumerateBindings:(Ljavax/naming/NamingEnumeration;Ljava/util/Properties;)V
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 bindings Ljavax/naming/NamingEnumeration;
2 4 1 properties Ljava/util/Properties;
Exceptions:
throws javax.naming.NamingException
private static void enumerateBindings(javax.naming.NamingEnumeration, java.util.Properties);
descriptor: (Ljavax/naming/NamingEnumeration;Ljava/util/Properties;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aconst_null
astore 5
start local 5 4: goto 17
5: StackMap locals: javax.naming.NamingEnumeration java.util.Properties int javax.naming.Binding java.lang.Object java.lang.String
StackMap stack:
aload 0
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
checkcast javax.naming.Binding
astore 3
6: aload 3
invokevirtual javax.naming.Binding.getName:()Ljava/lang/String;
astore 5
7: aload 3
invokevirtual javax.naming.Binding.getObject:()Ljava/lang/Object;
astore 4
8: getstatic javax.sql.rowset.spi.SyncFactory.ic:Ljavax/naming/Context;
aload 5
invokeinterface javax.naming.Context.lookup:(Ljava/lang/String;)Ljava/lang/Object;
instanceof javax.naming.Context
ifne 11
9: getstatic javax.sql.rowset.spi.SyncFactory.ic:Ljavax/naming/Context;
aload 5
invokeinterface javax.naming.Context.lookup:(Ljava/lang/String;)Ljava/lang/Object;
instanceof javax.sql.rowset.spi.SyncProvider
ifeq 11
10: iconst_1
istore 2
11: StackMap locals:
StackMap stack:
iload 2
ifeq 17
12: aload 4
checkcast javax.sql.rowset.spi.SyncProvider
astore 6
start local 6 13: aload 1
getstatic javax.sql.rowset.spi.SyncFactory.ROWSET_SYNC_PROVIDER:Ljava/lang/String;
14: aload 6
invokevirtual javax.sql.rowset.spi.SyncProvider.getProviderID:()Ljava/lang/String;
15: invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: iconst_0
istore 2
end local 6 17: StackMap locals:
StackMap stack:
aload 0
invokeinterface javax.naming.NamingEnumeration.hasMore:()Z
ifne 5
end local 5 end local 4 end local 3 18: goto 22
StackMap locals: javax.naming.NamingEnumeration java.util.Properties int
StackMap stack: javax.naming.NotContextException
19: pop
20: aload 0
invokeinterface javax.naming.NamingEnumeration.next:()Ljava/lang/Object;
pop
21: aload 0
aload 1
invokestatic javax.sql.rowset.spi.SyncFactory.enumerateBindings:(Ljavax/naming/NamingEnumeration;Ljava/util/Properties;)V
22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 bindings Ljavax/naming/NamingEnumeration;
0 23 1 properties Ljava/util/Properties;
1 23 2 syncProviderObj Z
2 18 3 bd Ljavax/naming/Binding;
3 18 4 elementObj Ljava/lang/Object;
4 18 5 element Ljava/lang/String;
13 17 6 sync Ljavax/sql/rowset/spi/SyncProvider;
Exception table:
from to target type
1 18 19 Class javax.naming.NotContextException
Exceptions:
throws javax.naming.NamingException
MethodParameters:
Name Flags
bindings
properties
}
SourceFile: "SyncFactory.java"
NestMembers:
javax.sql.rowset.spi.SyncFactory$1 javax.sql.rowset.spi.SyncFactory$2 javax.sql.rowset.spi.SyncFactory$3
InnerClasses:
javax.sql.rowset.spi.SyncFactory$1
javax.sql.rowset.spi.SyncFactory$2
javax.sql.rowset.spi.SyncFactory$3