Class FactoryFinder

java.lang.Object
jakarta.activation.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 RuntimeException
      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:
      RuntimeException - if there is no factory found
    • newInstance

      private static <T> T newInstance(String className, String defaultClassName, ClassLoader tccl) throws RuntimeException
      Throws:
      RuntimeException
    • 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)