Class Services

java.lang.Object
org.apache.openjpa.lib.util.Services

public class Services extends Object
Utility classes to locate services, as defined in the Jar File Specification. Most of the methods in this class can also be found in the sun.misc.Service class, but since it is undocumented, we cannot rely on its API. Service location for a specified interface is done by searching for the resource /META-INF/services/service.class.name, and loading the resource. Methods in this class that do not declare exceptions will never throw Runtime exceptions: exceptions are silently swallowed and empty array values are returned.
Author:
Marc Prud'hommeaux
  • Constructor Details

    • Services

      public Services()
  • Method Details

    • getImplementors

      public static String[] getImplementors(Class serviceClass)
      Return an array of Strings of class names of all known service implementors of the specified interface or class.
    • getImplementors

      public static String[] getImplementors(Class serviceClass, ClassLoader loader)
      Return an array of Strings of class names of all known service implementors of the specified interface or class.
    • getImplementors

      public static String[] getImplementors(String serviceName)
      Return an array of Strings of class names of all known service implementors of the specified class name(as resolved by the current thread's context class loader).
    • getImplementors

      public static String[] getImplementors(String serviceName, ClassLoader loader)
      Return an array of Strings of class names of all known service implementors of the specified class name, as resolved by the specified ClassLoader.
    • getImplementorClasses

      public static Class[] getImplementorClasses(Class serviceClass)
    • getImplementorClasses

      public static Class[] getImplementorClasses(Class serviceClass, ClassLoader loader)
    • getImplementorClasses

      public static Class[] getImplementorClasses(String serviceName)
      Return an array of Class objects of all known service implementors of the specified class name(as resolved by the current thread's context class loader).
    • getImplementorClasses

      public static Class[] getImplementorClasses(String serviceName, ClassLoader loader)
    • getImplementorClasses

      public static Class[] getImplementorClasses(String serviceName, ClassLoader loader, boolean skipMissing) throws ClassNotFoundException
      Return an array of Class objects of all known service implementors of the specified class name, as resolved by the specified ClassLoader.
      Parameters:
      skipMissing - if true, then ignore classes that cannot be loaded by the classloader; otherwise, resolution failures will throw a ClassNotFoundException.
      Throws:
      ClassNotFoundException