org.apache.openjpa.lib.util
Class Services

java.lang.Object
  extended by 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 Summary
Services()
           
 
Method Summary
static Class[] getImplementorClasses(Class serviceClass)
           
static Class[] getImplementorClasses(Class serviceClass, ClassLoader loader)
           
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).
static Class[] getImplementorClasses(String serviceName, ClassLoader loader)
           
static Class[] getImplementorClasses(String serviceName, ClassLoader loader, boolean skipMissing)
          Return an array of Class objects of all known service implementors of the specified class name, as resolved by the specified ClassLoader.
static String[] getImplementors(Class serviceClass)
          Return an array of Strings of class names of all known service implementors of the specified interface or class.
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.
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).
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Services

public Services()
Method Detail

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


Copyright © 2006-2008 Apache Software Foundation. All Rights Reserved.