Class 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 specified ClassLoader.
      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 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 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 specified ClassLoader.
      • 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 specified ClassLoader.
        Parameters:
        skipMissing - if true, then ignore classes that cannot be loaded by the classloader; otherwise, resolution failures will throw a ClassNotFoundException.
        Throws:
        java.lang.ClassNotFoundException