Class FactoryFinder

java.lang.Object
jakarta.xml.soap.FactoryFinder

class FactoryFinder extends Object
  • Field Details

  • Constructor Details

    • FactoryFinder

      FactoryFinder()
  • Method Details

    • find

      static <T> T find(Class<T> factoryClass, String defaultClassName, boolean tryFallback) throws SOAPException
      Finds the implementation Class object for the given factory type. If it fails and tryFallback is true finds the Class object for the given default class name. The arguments supplied must be used in order Note the default class name may be needed even if fallback is not to be attempted in order to check if requested type is fallback.

      This method is package private so that this code can be shared.

      Parameters:
      factoryClass - factory abstract class or interface to be found
      defaultClassName - the implementation class name, which is to be used only if nothing else is found; null to indicate that there is no default class name
      tryFallback - whether to try the default class as a fallback
      Returns:
      the Class object of the specified message factory; may not be null
      Throws:
      SOAPException - if there is a SOAP error
    • newInstance

      private static Object newInstance(String className, String defaultClassName, ClassLoader tccl) throws SOAPException
      Throws:
      SOAPException
    • fromSystemProperty

      private static String fromSystemProperty(String factoryId)
    • getSystemProperty

      private static String getSystemProperty(String property)
    • logFound

      private static void logFound(String value)
    • isOsgi

      private static boolean isOsgi()
    • lookupUsingOSGiServiceLoader

      private static <T> T lookupUsingOSGiServiceLoader(String factoryId)
    • which

      static URL which(Class<?> clazz)
      Get the URL for the Class from it's ClassLoader.

      Convenience method for which(Class, ClassLoader).

      Equivalent to calling: which(clazz, clazz.getClassLoader())

      Parameters:
      clazz - The class to search for
      Returns:
      the URL for the class or null if it wasn't found
    • which

      static URL which(Class<?> clazz, ClassLoader loader)
      Search the given ClassLoader for an instance of the specified class and return a string representation of the URL that points to the resource.
      Parameters:
      clazz - The class to search for
      loader - The ClassLoader to search. If this parameter is null, then the system class loader will be searched
      Returns:
      the URL for the class or null if it wasn't found
    • getSystemClassLoader

      private static ClassLoader getSystemClassLoader()
    • getClassClassLoader

      private static ClassLoader getClassClassLoader(Class<?> c)