class javax.xml.soap.ServiceLoaderUtil
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: javax.xml.soap.ServiceLoaderUtil
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
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/xml/soap/ServiceLoaderUtil;
static <P, T extends java.lang.Exception> P firstByServiceLoader(java.lang.Class<P>, java.util.logging.Logger, javax.xml.soap.ServiceLoaderUtil$ExceptionHandler<T>) throws T;
descriptor: (Ljava/lang/Class;Ljava/util/logging/Logger;Ljavax/xml/soap/ServiceLoaderUtil$ExceptionHandler;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "Using java.util.ServiceLoader to find {0}"
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
1: aload 0
invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;)Ljava/util/ServiceLoader;
astore 3
start local 3 2: aload 3
invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
astore 5
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 8
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 4
start local 4 3: aload 1
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "ServiceProvider loading Facility used; returning object [{0}]"
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
4: aload 4
5: areturn
end local 4 end local 3 6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 7: aload 2
aload 3
new java.lang.StringBuilder
dup
ldc "Error while searching for service ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
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;
invokevirtual javax.xml.soap.ServiceLoaderUtil$ExceptionHandler.createException:(Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/Exception;
athrow
end local 3 8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 spiClass Ljava/lang/Class<TP;>;
0 9 1 logger Ljava/util/logging/Logger;
0 9 2 handler Ljavax/xml/soap/ServiceLoaderUtil$ExceptionHandler<TT;>;
2 6 3 serviceLoader Ljava/util/ServiceLoader<TP;>;
3 6 4 impl TP;
7 8 3 t Ljava/lang/Throwable;
Exception table:
from to target type
1 5 6 Class java.lang.Throwable
Exceptions:
throws java.lang.Exception
Signature: <P:Ljava/lang/Object;T:Ljava/lang/Exception;>(Ljava/lang/Class<TP;>;Ljava/util/logging/Logger;Ljavax/xml/soap/ServiceLoaderUtil$ExceptionHandler<TT;>;)TP;^TT;
MethodParameters:
Name Flags
spiClass
logger
handler
static void checkPackageAccess(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 1
start local 1 1: aload 1
ifnull 5
2: aload 0
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpeq 5
4: aload 1
aload 0
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.SecurityManager.checkPackageAccess:(Ljava/lang/String;)V
end local 2 5: StackMap locals: java.lang.SecurityManager
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 className Ljava/lang/String;
1 6 1 s Ljava/lang/SecurityManager;
3 5 2 i I
MethodParameters:
Name Flags
className
static java.lang.Class nullSafeLoadClass(java.lang.String, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
areturn
2: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 className Ljava/lang/String;
0 3 1 classLoader Ljava/lang/ClassLoader;
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
className
classLoader
static <T extends java.lang.Exception> newInstance(java.lang.String, java.lang.String, java.lang.ClassLoader, javax.xml.soap.ServiceLoaderUtil$ExceptionHandler<T>) throws T;
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljavax/xml/soap/ServiceLoaderUtil$ExceptionHandler;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokestatic javax.xml.soap.ServiceLoaderUtil.safeLoadClass:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 4
start local 4 3: aload 3
aload 4
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 " not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual javax.xml.soap.ServiceLoaderUtil$ExceptionHandler.createException:(Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/Exception;
athrow
end local 4 4: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 5: aload 3
aload 4
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 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual javax.xml.soap.ServiceLoaderUtil$ExceptionHandler.createException:(Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/Exception;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 className Ljava/lang/String;
0 6 1 defaultImplClassName Ljava/lang/String;
0 6 2 classLoader Ljava/lang/ClassLoader;
0 6 3 handler Ljavax/xml/soap/ServiceLoaderUtil$ExceptionHandler<TT;>;
3 4 4 x Ljava/lang/ClassNotFoundException;
5 6 4 x Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.ClassNotFoundException
0 1 4 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
Signature: <T:Ljava/lang/Exception;>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljavax/xml/soap/ServiceLoaderUtil$ExceptionHandler<TT;>;)Ljava/lang/Object;^TT;
MethodParameters:
Name Flags
className
defaultImplClassName
classLoader
handler final
static java.lang.Class safeLoadClass(java.lang.String, java.lang.String, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic javax.xml.soap.ServiceLoaderUtil.checkPackageAccess:(Ljava/lang/String;)V
1: goto 6
StackMap locals:
StackMap stack: java.lang.SecurityException
2: astore 3
start local 3 3: aload 1
ifnull 5
aload 1
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 0
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
areturn
5: StackMap locals: java.lang.SecurityException
StackMap stack:
aload 3
athrow
end local 3 6: StackMap locals:
StackMap stack:
aload 0
aload 2
invokestatic javax.xml.soap.ServiceLoaderUtil.nullSafeLoadClass:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 className Ljava/lang/String;
0 7 1 defaultImplClassName Ljava/lang/String;
0 7 2 classLoader Ljava/lang/ClassLoader;
3 6 3 se Ljava/lang/SecurityException;
Exception table:
from to target type
0 1 2 Class java.lang.SecurityException
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
className
defaultImplClassName
classLoader
static <T extends java.lang.Exception> java.lang.ClassLoader contextClassLoader(javax.xml.soap.ServiceLoaderUtil$ExceptionHandler<T>) throws T;
descriptor: (Ljavax/xml/soap/ServiceLoaderUtil$ExceptionHandler;)Ljava/lang/ClassLoader;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 3: aload 0
aload 1
aload 1
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokevirtual javax.xml.soap.ServiceLoaderUtil$ExceptionHandler.createException:(Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/Exception;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 exceptionHandler Ljavax/xml/soap/ServiceLoaderUtil$ExceptionHandler<TT;>;
3 4 1 x Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
Signature: <T:Ljava/lang/Exception;>(Ljavax/xml/soap/ServiceLoaderUtil$ExceptionHandler<TT;>;)Ljava/lang/ClassLoader;^TT;
MethodParameters:
Name Flags
exceptionHandler
}
SourceFile: "ServiceLoaderUtil.java"
NestMembers:
javax.xml.soap.ServiceLoaderUtil$ExceptionHandler
InnerClasses:
abstract ExceptionHandler = javax.xml.soap.ServiceLoaderUtil$ExceptionHandler of javax.xml.soap.ServiceLoaderUtil