- java.lang.Object
-
- javax.xml.bind.ServiceLoaderUtil
-
class ServiceLoaderUtil extends java.lang.Object
Shared ServiceLoader/FactoryFinder Utils shared among SAAJ, JAXB and JAXWS - this class must be duplicated to all those projects, but it's basically generic code and we want to have it everywhere same.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
ServiceLoaderUtil.ExceptionHandler<T extends java.lang.Exception>
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
OSGI_SERVICE_LOADER_CLASS_NAME
private static java.lang.String
OSGI_SERVICE_LOADER_METHOD_NAME
-
Constructor Summary
Constructors Constructor Description ServiceLoaderUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static void
checkPackageAccess(java.lang.String className)
(package private) static java.lang.ClassLoader
contextClassLoader(ServiceLoaderUtil.ExceptionHandler exceptionHandler)
(package private) static <P,T extends java.lang.Exception>
PfirstByServiceLoader(java.lang.Class<P> spiClass, java.util.logging.Logger logger, ServiceLoaderUtil.ExceptionHandler<T> handler)
(package private) static java.lang.Object
lookupUsingOSGiServiceLoader(java.lang.String factoryId, java.util.logging.Logger logger)
(package private) static <T extends java.lang.Exception>
java.lang.ObjectnewInstance(java.lang.String className, java.lang.String defaultImplClassName, ServiceLoaderUtil.ExceptionHandler<T> handler)
(package private) static java.lang.Class
nullSafeLoadClass(java.lang.String className, java.lang.ClassLoader classLoader)
(package private) static java.lang.Class
safeLoadClass(java.lang.String className, java.lang.String defaultImplClassName, java.lang.ClassLoader classLoader)
-
-
-
Field Detail
-
OSGI_SERVICE_LOADER_CLASS_NAME
private static final java.lang.String OSGI_SERVICE_LOADER_CLASS_NAME
- See Also:
- Constant Field Values
-
OSGI_SERVICE_LOADER_METHOD_NAME
private static final java.lang.String OSGI_SERVICE_LOADER_METHOD_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
firstByServiceLoader
static <P,T extends java.lang.Exception> P firstByServiceLoader(java.lang.Class<P> spiClass, java.util.logging.Logger logger, ServiceLoaderUtil.ExceptionHandler<T> handler) throws T extends java.lang.Exception
- Throws:
T extends java.lang.Exception
-
lookupUsingOSGiServiceLoader
static java.lang.Object lookupUsingOSGiServiceLoader(java.lang.String factoryId, java.util.logging.Logger logger)
-
checkPackageAccess
static void checkPackageAccess(java.lang.String className)
-
nullSafeLoadClass
static java.lang.Class nullSafeLoadClass(java.lang.String className, java.lang.ClassLoader classLoader) throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
-
newInstance
static <T extends java.lang.Exception> java.lang.Object newInstance(java.lang.String className, java.lang.String defaultImplClassName, ServiceLoaderUtil.ExceptionHandler<T> handler) throws T extends java.lang.Exception
- Throws:
T extends java.lang.Exception
-
safeLoadClass
static java.lang.Class safeLoadClass(java.lang.String className, java.lang.String defaultImplClassName, java.lang.ClassLoader classLoader) throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
-
contextClassLoader
static java.lang.ClassLoader contextClassLoader(ServiceLoaderUtil.ExceptionHandler exceptionHandler) throws java.lang.Exception
- Throws:
java.lang.Exception
-
-