Class 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.
    • 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
    • Constructor Detail

      • ServiceLoaderUtil

        ServiceLoaderUtil()
    • Method Detail

      • firstByServiceLoader

        static <P,​T extends java.lang.Exception> P firstByServiceLoader​(java.lang.Class<P> spiClass,
                                                                              java.lang.ClassLoader loader,
                                                                              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