Class SPIClassIterator<S>

  • All Implemented Interfaces:
    Iterator<Class<? extends S>>

    public final class SPIClassIterator<S>
    extends Object
    implements Iterator<Class<? extends S>>
    Helper class for loading SPI classes from classpath (META-INF files). This is a light impl of ServiceLoader but is guaranteed to be bug-free regarding classpath order and does not instantiate or initialize the classes found.
    • Method Detail

      • isParentClassLoader

        public static boolean isParentClassLoader​(ClassLoader parent,
                                                  ClassLoader child)
        Utility method to check if some class loader is a (grand-)parent of or the same as another one. This means the child will be able to load all classes from the parent, too.
      • hasNext

        public boolean hasNext()
        Specified by:
        hasNext in interface Iterator<S>
      • remove

        public void remove()
        Specified by:
        remove in interface Iterator<S>