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
{
public static final java.lang.String ROWSET_SYNC_PROVIDER;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "rowset.provider.classname"
public static final java.lang.String ROWSET_SYNC_VENDOR;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "rowset.provider.vendor"
public static final java.lang.String ROWSET_SYNC_PROVIDER_VERSION;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "rowset.provider.version"
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 final java.sql.SQLPermission SET_SYNCFACTORY_PERMISSION;
descriptor: Ljava/sql/SQLPermission;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static javax.naming.Context ic;
descriptor: Ljavax/naming/Context;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static volatile java.util.logging.Logger rsLogger;
descriptor: Ljava/util/logging/Logger;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
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 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=3, locals=0, args_size=0
0: ldc "rowset.properties"
putstatic javax.sql.rowset.spi.SyncFactory.ROWSET_PROPERTIES:Ljava/lang/String;
1: ldc "com.sun.rowset.providers.RIOptimisticProvider"
2: putstatic javax.sql.rowset.spi.SyncFactory.default_provider:Ljava/lang/String;
3: new java.sql.SQLPermission
dup
ldc "setSyncFactory"
invokespecial java.sql.SQLPermission.<init>:(Ljava/lang/String;)V
4: putstatic javax.sql.rowset.spi.SyncFactory.SET_SYNCFACTORY_PERMISSION:Ljava/sql/SQLPermission;
5: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic javax.sql.rowset.spi.SyncFactory.logSync:Ljava/lang/Object;
6: aconst_null
putstatic javax.sql.rowset.spi.SyncFactory.logWriter:Ljava/io/PrintWriter;
7: ldc ":"
putstatic javax.sql.rowset.spi.SyncFactory.colon:Ljava/lang/String;
8: ldc "/"
putstatic javax.sql.rowset.spi.SyncFactory.strFileSep:Ljava/lang/String;
9: iconst_0
putstatic javax.sql.rowset.spi.SyncFactory.debug:Z
10: iconst_0
putstatic javax.sql.rowset.spi.SyncFactory.providerImplIndex:I
11: 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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 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=1, locals=0, args_size=0
0: getstatic javax.sql.rowset.spi.SyncFactory$SyncFactoryHolder.factory:Ljavax/sql/rowset/spi/SyncFactory;
areturn
LocalVariableTable:
Start End Slot Name Signature
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 56
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 20
9: aload 1
putstatic javax.sql.rowset.spi.SyncFactory.ROWSET_PROPERTIES:Ljava/lang/String;
10: aconst_null
astore 2
aconst_null
astore 3
11: 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
astore 4
start local 4 12: aload 0
aload 4
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
13: aload 4
ifnull 19
aload 4
invokevirtual java.io.FileInputStream.close:()V
goto 19
StackMap locals: java.util.Properties java.lang.String java.lang.Throwable java.lang.Throwable java.io.FileInputStream
StackMap stack: java.lang.Throwable
14: astore 2
aload 4
ifnull 15
aload 4
invokevirtual java.io.FileInputStream.close:()V
end local 4 StackMap locals:
StackMap stack:
15: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 3
aload 2
ifnonnull 17
aload 3
astore 2
goto 18
StackMap locals:
StackMap stack:
17: aload 2
aload 3
if_acmpeq 18
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 2
athrow
19: StackMap locals:
StackMap stack:
aload 0
invokestatic javax.sql.rowset.spi.SyncFactory.parseProperties:(Ljava/util/Properties;)V
20: 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;
21: 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;
22: ldc "rowset.properties"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic javax.sql.rowset.spi.SyncFactory.ROWSET_PROPERTIES:Ljava/lang/String;
24: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 25: 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
26: goto 34
StackMap locals: java.util.Properties java.lang.String java.lang.ClassLoader
StackMap stack: java.security.PrivilegedActionException
27: astore 3
start local 3 28: aload 3
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
astore 4
start local 4 29: aload 4
instanceof javax.sql.rowset.spi.SyncFactoryException
ifeq 31
30: aload 4
checkcast javax.sql.rowset.spi.SyncFactoryException
athrow
31: 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 32: 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
33: aload 5
athrow
end local 5 end local 4 end local 3 34: StackMap locals:
StackMap stack:
aload 0
invokestatic javax.sql.rowset.spi.SyncFactory.parseProperties:(Ljava/util/Properties;)V
end local 2 end local 1 35: goto 40
StackMap locals: java.util.Properties
StackMap stack: java.io.FileNotFoundException
36: astore 1
start local 1 37: 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 38: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 39: 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 40: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.Properties.clear:()V
41: 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 42: goto 45
end local 1 StackMap locals:
StackMap stack: java.lang.Exception
43: pop
44: aconst_null
astore 1
start local 1 45: StackMap locals: java.lang.String
StackMap stack:
aload 1
ifnull 56
46: iconst_0
istore 2
start local 2 47: aload 1
getstatic javax.sql.rowset.spi.SyncFactory.colon:Ljava/lang/String;
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
ifle 54
48: 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 49: goto 52
50: StackMap locals: int java.util.StringTokenizer
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "rowset.provider.classname."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
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
51: iinc 2 1
52: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreElements:()Z
ifne 50
end local 3 53: goto 55
54: StackMap locals:
StackMap stack:
aload 0
ldc "rowset.provider.classname"
aload 1
invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
55: StackMap locals:
StackMap stack:
aload 0
invokestatic javax.sql.rowset.spi.SyncFactory.parseProperties:(Ljava/util/Properties;)V
end local 2 end local 1 56: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 57 0 properties Ljava/util/Properties;
4 5 1 strRowsetProperties Ljava/lang/String;
8 35 1 strRowsetProperties Ljava/lang/String;
6 8 2 ex Ljava/lang/Exception;
12 15 4 fis Ljava/io/FileInputStream;
25 35 2 cl Ljava/lang/ClassLoader;
28 34 3 ex Ljava/security/PrivilegedActionException;
29 34 4 e Ljava/lang/Throwable;
32 34 5 sfe Ljavax/sql/rowset/spi/SyncFactoryException;
37 38 1 e Ljava/io/FileNotFoundException;
39 40 1 e Ljava/io/IOException;
42 43 1 providerImpls Ljava/lang/String;
45 56 1 providerImpls Ljava/lang/String;
47 56 2 i I
49 53 3 tokenizer Ljava/util/StringTokenizer;
Exception table:
from to target type
3 4 5 Class java.lang.Exception
12 13 14 any
11 16 16 any
25 26 27 Class java.security.PrivilegedActionException
3 35 36 Class java.io.FileNotFoundException
3 35 38 Class java.io.IOException
41 42 43 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
ldc "rowset.provider.classname"
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
ldc "rowset.provider.classname"
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
ldc "rowset.provider.classname"
aastore
dup
iconst_1
2: ldc "rowset.provider.vendor"
aastore
dup
iconst_2
3: ldc "rowset.provider.version"
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: aload 0
ifnonnull 2
1: new javax.sql.rowset.spi.SyncFactoryException
dup
ldc "The providerID cannot be null"
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
invokestatic javax.sql.rowset.spi.SyncFactory.initMapIfNecessary:()V
3: invokestatic javax.sql.rowset.spi.SyncFactory.initJNDIContext:()V
4: 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 5: aload 1
ifnonnull 7
6: new com.sun.rowset.providers.RIOptimisticProvider
dup
invokespecial com.sun.rowset.providers.RIOptimisticProvider.<init>:()V
areturn
7: StackMap locals: javax.sql.rowset.spi.ProviderImpl
StackMap stack:
aload 0
invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/String;)V
8: goto 13
StackMap locals:
StackMap stack: java.security.AccessControlException
9: astore 2
start local 2 10: new javax.sql.rowset.spi.SyncFactoryException
dup
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:()V
astore 3
start local 3 11: aload 3
aload 2
invokevirtual javax.sql.rowset.spi.SyncFactoryException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
12: aload 3
athrow
end local 3 end local 2 13: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 14: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 3
start local 3 15: aload 0
iconst_1
aload 3
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 2
16: aload 2
ifnull 19
17: aload 2
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast javax.sql.rowset.spi.SyncProvider
18: areturn
19: 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
20: areturn
end local 3 21: StackMap locals: java.lang.String javax.sql.rowset.spi.ProviderImpl java.lang.Class
StackMap stack: java.lang.IllegalAccessException
astore 3
start local 3 22: 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 23: StackMap locals:
StackMap stack: java.lang.InstantiationException
astore 3
start local 3 24: 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 25: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 3
start local 3 26: 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 27 0 providerID Ljava/lang/String;
5 27 1 impl Ljavax/sql/rowset/spi/ProviderImpl;
10 13 2 e Ljava/security/AccessControlException;
11 13 3 sfe Ljavax/sql/rowset/spi/SyncFactoryException;
14 27 2 c Ljava/lang/Class;
15 21 3 cl Ljava/lang/ClassLoader;
22 23 3 e Ljava/lang/IllegalAccessException;
24 25 3 e Ljava/lang/InstantiationException;
26 27 3 e Ljava/lang/ClassNotFoundException;
Exception table:
from to target type
7 8 9 Class java.security.AccessControlException
14 18 21 Class java.lang.IllegalAccessException
19 20 21 Class java.lang.IllegalAccessException
14 18 23 Class java.lang.InstantiationException
19 20 23 Class java.lang.InstantiationException
14 18 25 Class java.lang.ClassNotFoundException
19 20 25 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=3, locals=2, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
getstatic javax.sql.rowset.spi.SyncFactory.SET_SYNCFACTORY_PERMISSION:Ljava/sql/SQLPermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
ifnonnull 5
4: new java.lang.NullPointerException
dup
ldc "You must provide a Logger"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
putstatic javax.sql.rowset.spi.SyncFactory.rsLogger:Ljava/util/logging/Logger;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 logger Ljava/util/logging/Logger;
1 7 1 sec Ljava/lang/SecurityManager;
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=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
getstatic javax.sql.rowset.spi.SyncFactory.SET_SYNCFACTORY_PERMISSION:Ljava/sql/SQLPermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
ifnonnull 5
4: new java.lang.NullPointerException
dup
ldc "You must provide a Logger"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.util.logging.Logger.setLevel:(Ljava/util/logging/Level;)V
6: aload 0
putstatic javax.sql.rowset.spi.SyncFactory.rsLogger:Ljava/util/logging/Logger;
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 logger Ljava/util/logging/Logger;
0 8 1 level Ljava/util/logging/Level;
1 8 2 sec Ljava/lang/SecurityManager;
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=1, args_size=0
0: getstatic javax.sql.rowset.spi.SyncFactory.rsLogger:Ljava/util/logging/Logger;
astore 0
start local 0 1: aload 0
ifnonnull 3
2: 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
3: StackMap locals: java.util.logging.Logger
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 result Ljava/util/logging/Logger;
Exceptions:
throws javax.sql.rowset.spi.SyncFactoryException
public static synchronized void setJNDIContext(javax.naming.Context);
descriptor: (Ljavax/naming/Context;)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
getstatic javax.sql.rowset.spi.SyncFactory.SET_SYNCFACTORY_PERMISSION:Ljava/sql/SQLPermission;
invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
3: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 0
ifnonnull 5
4: new javax.sql.rowset.spi.SyncFactoryException
dup
ldc "Invalid JNDI context supplied"
invokespecial javax.sql.rowset.spi.SyncFactoryException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
putstatic javax.sql.rowset.spi.SyncFactory.ic:Ljavax/naming/Context;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 ctx Ljavax/naming/Context;
1 7 1 sec Ljava/lang/SecurityManager;
Exceptions:
throws javax.sql.rowset.spi.SyncFactoryException
MethodParameters:
Name Flags
ctx
private static synchronized void initJNDIContext();
descriptor: ()V
flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=1, args_size=0
0: 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
ldc "rowset.provider.classname"
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 javax.sql.rowset.spi.SyncFactory$SyncFactoryHolder
InnerClasses:
javax.sql.rowset.spi.SyncFactory$1
javax.sql.rowset.spi.SyncFactory$2
javax.sql.rowset.spi.SyncFactory$3
private SyncFactoryHolder = javax.sql.rowset.spi.SyncFactory$SyncFactoryHolder of javax.sql.rowset.spi.SyncFactory