Package org.apache.openjpa.lib.util
Class Services
- java.lang.Object
-
- org.apache.openjpa.lib.util.Services
-
public class Services extends java.lang.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 Summary
Constructors Constructor Description Services()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Class[]
getImplementorClasses(java.lang.Class serviceClass)
static java.lang.Class[]
getImplementorClasses(java.lang.Class serviceClass, java.lang.ClassLoader loader)
static java.lang.Class[]
getImplementorClasses(java.lang.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).static java.lang.Class[]
getImplementorClasses(java.lang.String serviceName, java.lang.ClassLoader loader)
static java.lang.Class[]
getImplementorClasses(java.lang.String serviceName, java.lang.ClassLoader loader, boolean skipMissing)
Return an array of Class objects of all known service implementors of the specified class name, as resolved by the specifiedClassLoader
.static java.lang.String[]
getImplementors(java.lang.Class serviceClass)
Return an array of Strings of class names of all known service implementors of the specified interface or class.static java.lang.String[]
getImplementors(java.lang.Class serviceClass, java.lang.ClassLoader loader)
Return an array of Strings of class names of all known service implementors of the specified interface or class.static java.lang.String[]
getImplementors(java.lang.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).static java.lang.String[]
getImplementors(java.lang.String serviceName, java.lang.ClassLoader loader)
Return an array of Strings of class names of all known service implementors of the specified class name, as resolved by the specifiedClassLoader
.
-
-
-
Method Detail
-
getImplementors
public static java.lang.String[] getImplementors(java.lang.Class serviceClass)
Return an array of Strings of class names of all known service implementors of the specified interface or class.
-
getImplementors
public static java.lang.String[] getImplementors(java.lang.Class serviceClass, java.lang.ClassLoader loader)
Return an array of Strings of class names of all known service implementors of the specified interface or class.
-
getImplementors
public static java.lang.String[] getImplementors(java.lang.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 java.lang.String[] getImplementors(java.lang.String serviceName, java.lang.ClassLoader loader)
Return an array of Strings of class names of all known service implementors of the specified class name, as resolved by the specifiedClassLoader
.
-
getImplementorClasses
public static java.lang.Class[] getImplementorClasses(java.lang.Class serviceClass)
-
getImplementorClasses
public static java.lang.Class[] getImplementorClasses(java.lang.Class serviceClass, java.lang.ClassLoader loader)
-
getImplementorClasses
public static java.lang.Class[] getImplementorClasses(java.lang.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 java.lang.Class[] getImplementorClasses(java.lang.String serviceName, java.lang.ClassLoader loader)
-
getImplementorClasses
public static java.lang.Class[] getImplementorClasses(java.lang.String serviceName, java.lang.ClassLoader loader, boolean skipMissing) throws java.lang.ClassNotFoundException
Return an array of Class objects of all known service implementors of the specified class name, as resolved by the specifiedClassLoader
.- Parameters:
skipMissing
- if true, then ignore classes that cannot be loaded by the classloader; otherwise, resolution failures will throw aClassNotFoundException
.- Throws:
java.lang.ClassNotFoundException
-
-