Class EquinoxClassLoaderHandler
- java.lang.Object
-
- nonapi.io.github.classgraph.classloaderhandler.EquinoxClassLoaderHandler
-
- All Implemented Interfaces:
ClassLoaderHandler
class EquinoxClassLoaderHandler extends java.lang.Object implements ClassLoaderHandler
Extract classpath entries from the Eclipse Equinox ClassLoader.
-
-
Field Summary
Fields Modifier and Type Field Description private static boolean
alreadyReadSystemBundles
True if system bundles have been read.private static java.lang.String[]
FIELD_NAMES
Field names.
-
Constructor Summary
Constructors Modifier Constructor Description private
EquinoxClassLoaderHandler()
Class cannot be constructed.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static void
addBundleFile(java.lang.Object bundlefile, java.util.Set<java.lang.Object> path, java.lang.ClassLoader classLoader, ClasspathOrder classpathOrderOut, ScanSpec scanSpec, LogNode log)
Add the bundle file.private static void
addClasspathEntries(java.lang.Object owner, java.lang.ClassLoader classLoader, ClasspathOrder classpathOrderOut, ScanSpec scanSpec, LogNode log)
Adds the classpath entries.static boolean
canHandle(java.lang.Class<?> classLoaderClass, LogNode log)
Check whether thisClassLoaderHandler
can handle a givenClassLoader
.static void
findClassLoaderOrder(java.lang.ClassLoader classLoader, ClassLoaderOrder classLoaderOrder, LogNode log)
Find theClassLoader
delegation order for aClassLoader
.static void
findClasspathOrder(java.lang.ClassLoader classLoader, ClasspathOrder classpathOrder, ScanSpec scanSpec, LogNode log)
Find the classpath entries for the associatedClassLoader
.
-
-
-
Method Detail
-
canHandle
public static boolean canHandle(java.lang.Class<?> classLoaderClass, LogNode log)
Check whether thisClassLoaderHandler
can handle a givenClassLoader
.- Parameters:
classLoaderClass
- theClassLoader
class or one of its superclasses.log
- the log- Returns:
- true if this
ClassLoaderHandler
can handle theClassLoader
.
-
findClassLoaderOrder
public static void findClassLoaderOrder(java.lang.ClassLoader classLoader, ClassLoaderOrder classLoaderOrder, LogNode log)
Find theClassLoader
delegation order for aClassLoader
.- Parameters:
classLoader
- theClassLoader
to find the order for.classLoaderOrder
- aClassLoaderOrder
object to update.log
- the log
-
addBundleFile
private static void addBundleFile(java.lang.Object bundlefile, java.util.Set<java.lang.Object> path, java.lang.ClassLoader classLoader, ClasspathOrder classpathOrderOut, ScanSpec scanSpec, LogNode log)
Add the bundle file.- Parameters:
bundlefile
- the bundle filepath
- the pathclassLoader
- the classloaderclasspathOrderOut
- the classpath orderscanSpec
- the scan speclog
- the log
-
addClasspathEntries
private static void addClasspathEntries(java.lang.Object owner, java.lang.ClassLoader classLoader, ClasspathOrder classpathOrderOut, ScanSpec scanSpec, LogNode log)
Adds the classpath entries.- Parameters:
owner
- the ownerclassLoader
- the class loaderclasspathOrderOut
- the classpath order outscanSpec
- the scan speclog
- the log
-
findClasspathOrder
public static void findClasspathOrder(java.lang.ClassLoader classLoader, ClasspathOrder classpathOrder, ScanSpec scanSpec, LogNode log)
Find the classpath entries for the associatedClassLoader
.- Parameters:
classLoader
- theClassLoader
to find the classpath entries order for.classpathOrder
- aClasspathOrder
object to update.scanSpec
- theScanSpec
.log
- the log.
-
-