Package org.apache.lucene.util
Class SPIClassIterator<S>
- java.lang.Object
-
- org.apache.lucene.util.SPIClassIterator<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 ofServiceLoader
but is guaranteed to be bug-free regarding classpath order and does not instantiate or initialize the classes found.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <S> SPIClassIterator<S>
get(Class<S> clazz)
static <S> SPIClassIterator<S>
get(Class<S> clazz, ClassLoader loader)
boolean
hasNext()
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.Class<? extends S>
next()
void
remove()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining
-
-
-
-
Method Detail
-
get
public static <S> SPIClassIterator<S> get(Class<S> clazz)
-
get
public static <S> SPIClassIterator<S> get(Class<S> clazz, ClassLoader loader)
-
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.
-
-