final class javax.ws.rs.ext.FactoryFinder
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: javax.ws.rs.ext.FactoryFinder
super_class: java.lang.Object
{
private static final java.util.logging.Logger LOGGER;
descriptor: Ljava/util/logging/Logger;
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 Ljavax/ws/rs/ext/FactoryFinder;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
putstatic javax.ws.rs.ext.FactoryFinder.LOGGER:Ljava/util/logging/Logger;
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/ws/rs/ext/FactoryFinder;
private static java.lang.ClassLoader getContextClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokedynamic run()Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
javax/ws/rs/ext/FactoryFinder.lambda$0()Ljava/lang/ClassLoader; (6)
()Ljava/lang/ClassLoader;
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.Object newInstance(java.lang.String, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 2: goto 15
end local 2 3: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 1
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 2
start local 2 4: goto 15
end local 2 StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
5: astore 3
start local 3 6: getstatic javax.ws.rs.ext.FactoryFinder.LOGGER:Ljava/util/logging/Logger;
7: getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
8: new java.lang.StringBuilder
dup
ldc "Unable to load provider class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc " using custom classloader "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc " trying again with current classloader."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: aload 3
13: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
14: aload 0
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
end local 3 start local 2 15: StackMap locals: java.lang.Class
StackMap stack:
aload 2
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredConstructor:([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;
16: areturn
end local 2 17: StackMap locals: java.lang.String java.lang.ClassLoader
StackMap stack: java.lang.ClassNotFoundException
astore 2
start local 2 18: aload 2
athrow
end local 2 19: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 20: new java.lang.ClassNotFoundException
dup
new java.lang.StringBuilder
dup
ldc "Provider "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " could not be instantiated: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 className Ljava/lang/String;
0 21 1 classLoader Ljava/lang/ClassLoader;
2 3 2 spiClass Ljava/lang/Class<*>;
4 5 2 spiClass Ljava/lang/Class<*>;
15 17 2 spiClass Ljava/lang/Class<*>;
6 15 3 ex Ljava/lang/ClassNotFoundException;
18 19 2 x Ljava/lang/ClassNotFoundException;
20 21 2 x Ljava/lang/Exception;
Exception table:
from to target type
3 4 5 Class java.lang.ClassNotFoundException
0 16 17 Class java.lang.ClassNotFoundException
0 16 19 Class java.lang.Exception
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
className final
classLoader final
static <T> find(java.lang.String, java.lang.String, java.lang.Class<T>);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=13, args_size=3
start local 0 start local 1 start local 2 0: invokestatic javax.ws.rs.ext.FactoryFinder.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 3
start local 3 1: aload 2
invokestatic javax.ws.rs.ext.FactoryFinder.getContextClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
astore 4
start local 4 2: aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 7
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
4: areturn
end local 4 5: StackMap locals: java.lang.String java.lang.String java.lang.Class java.lang.ClassLoader
StackMap stack: java.lang.Throwable
astore 4
start local 4 6: getstatic javax.ws.rs.ext.FactoryFinder.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Failed to load service "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 7: StackMap locals:
StackMap stack:
aload 2
ldc Ljavax/ws/rs/ext/FactoryFinder;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
astore 4
start local 4 8: aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 13
9: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
10: areturn
end local 4 11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 12: getstatic javax.ws.rs.ext.FactoryFinder.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Failed to load service "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 13: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 14: aconst_null
astore 5
start local 5 15: ldc "java.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 16: new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "jaxrs.properties"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
17: new java.io.File
dup
aload 5
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 7
start local 7 18: aload 7
invokevirtual java.io.File.exists:()Z
ifeq 47
19: new java.util.Properties
dup
invokespecial java.util.Properties.<init>:()V
astore 8
start local 8 20: new java.io.FileInputStream
dup
aload 7
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 4
21: aload 8
aload 4
invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
22: aload 8
aload 0
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 23: aload 9
aload 3
invokestatic javax.ws.rs.ext.FactoryFinder.newInstance:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Object;
astore 11
24: aload 4
ifnull 29
25: aload 4
invokevirtual java.io.FileInputStream.close:()V
26: goto 29
StackMap locals: java.lang.String java.lang.String java.lang.Class java.lang.ClassLoader java.io.FileInputStream java.lang.String java.lang.String java.io.File java.util.Properties java.lang.String top java.lang.Object
StackMap stack: java.io.IOException
27: astore 12
start local 12 28: getstatic javax.ws.rs.ext.FactoryFinder.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc "Error closing %s file."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 12
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 12 29: StackMap locals:
StackMap stack:
aload 11
areturn
end local 9 end local 8 end local 7 end local 6 30: StackMap locals: java.lang.String java.lang.String java.lang.Class java.lang.ClassLoader java.io.FileInputStream java.lang.String
StackMap stack: java.lang.Exception
astore 6
start local 6 31: getstatic javax.ws.rs.ext.FactoryFinder.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Failed to load service "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: ldc " from $java.home/lib/jaxrs.properties"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
33: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 6 34: aload 4
ifnull 52
35: aload 4
invokevirtual java.io.FileInputStream.close:()V
36: goto 52
StackMap locals:
StackMap stack: java.io.IOException
37: astore 12
start local 12 38: getstatic javax.ws.rs.ext.FactoryFinder.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc "Error closing %s file."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 12
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 12 39: goto 52
40: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
41: aload 4
ifnull 46
42: aload 4
invokevirtual java.io.FileInputStream.close:()V
43: goto 46
StackMap locals: java.lang.String java.lang.String java.lang.Class java.lang.ClassLoader java.io.FileInputStream java.lang.String top top top top java.lang.Throwable
StackMap stack: java.io.IOException
44: astore 12
start local 12 45: getstatic javax.ws.rs.ext.FactoryFinder.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc "Error closing %s file."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 12
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 12 46: StackMap locals:
StackMap stack:
aload 10
athrow
47: StackMap locals: java.lang.String java.lang.String java.lang.Class java.lang.ClassLoader java.io.FileInputStream java.lang.String
StackMap stack:
aload 4
ifnull 52
48: aload 4
invokevirtual java.io.FileInputStream.close:()V
49: goto 52
StackMap locals:
StackMap stack: java.io.IOException
50: astore 12
start local 12 51: getstatic javax.ws.rs.ext.FactoryFinder.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
ldc "Error closing %s file."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 12
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 12 52: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 53: aload 6
ifnull 60
54: aload 6
aload 3
invokestatic javax.ws.rs.ext.FactoryFinder.newInstance:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Object;
55: areturn
end local 6 56: StackMap locals:
StackMap stack: java.lang.SecurityException
astore 6
start local 6 57: getstatic javax.ws.rs.ext.FactoryFinder.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
new java.lang.StringBuilder
dup
ldc "Failed to load service "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
58: ldc " from a system property"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
59: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 6 60: StackMap locals:
StackMap stack:
aload 1
ifnonnull 64
61: new java.lang.ClassNotFoundException
dup
62: new java.lang.StringBuilder
dup
ldc "Provider for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " cannot be found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
63: invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
64: StackMap locals:
StackMap stack:
aload 1
aload 3
invokestatic javax.ws.rs.ext.FactoryFinder.newInstance:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Object;
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 65 0 factoryId Ljava/lang/String;
0 65 1 fallbackClassName Ljava/lang/String;
0 65 2 service Ljava/lang/Class<TT;>;
1 65 3 classLoader Ljava/lang/ClassLoader;
2 5 4 iterator Ljava/util/Iterator<TT;>;
6 7 4 ex Ljava/lang/Throwable;
8 11 4 iterator Ljava/util/Iterator<TT;>;
12 13 4 ex Ljava/lang/Throwable;
14 65 4 inputStream Ljava/io/FileInputStream;
15 65 5 configFile Ljava/lang/String;
16 30 6 javah Ljava/lang/String;
18 30 7 f Ljava/io/File;
20 30 8 props Ljava/util/Properties;
23 30 9 factoryClassName Ljava/lang/String;
31 34 6 ex Ljava/lang/Exception;
28 29 12 ex Ljava/io/IOException;
38 39 12 ex Ljava/io/IOException;
45 46 12 ex Ljava/io/IOException;
51 52 12 ex Ljava/io/IOException;
53 56 6 systemProp Ljava/lang/String;
57 60 6 se Ljava/lang/SecurityException;
Exception table:
from to target type
1 4 5 Class java.lang.Exception
1 4 5 Class java.util.ServiceConfigurationError
7 10 11 Class java.lang.Exception
7 10 11 Class java.util.ServiceConfigurationError
25 26 27 Class java.io.IOException
15 24 30 Class java.lang.Exception
35 36 37 Class java.io.IOException
15 24 40 any
30 34 40 any
42 43 44 Class java.io.IOException
48 49 50 Class java.io.IOException
52 55 56 Class java.lang.SecurityException
Exceptions:
throws java.lang.ClassNotFoundException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class<TT;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
factoryId final
fallbackClassName final
service
private static java.lang.ClassLoader lambda$0();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=0
0: aconst_null
astore 0
start local 0 1: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 0
2: goto 9
StackMap locals: java.lang.ClassLoader
StackMap stack: java.lang.SecurityException
3: astore 1
start local 1 4: getstatic javax.ws.rs.ext.FactoryFinder.LOGGER:Ljava/util/logging/Logger;
5: getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
6: ldc "Unable to get context classloader instance."
7: aload 1
8: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 9: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 10 0 cl Ljava/lang/ClassLoader;
4 9 1 ex Ljava/lang/SecurityException;
Exception table:
from to target type
1 2 3 Class java.lang.SecurityException
}
SourceFile: "FactoryFinder.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles