Top Description Inners Fields Constructors Methods
nonapi.io.github.classgraph.classloaderhandler

public Class ClassLoaderHandlerRegistry

extends Object
Class Inheritance
Imports
java.lang.reflect.Method, java.util.Arrays, .Collections, .List, nonapi.io.github.classgraph.classpath.ClassLoaderOrder, .ClasspathOrder, nonapi.io.github.classgraph.scanspec.ScanSpec, nonapi.io.github.classgraph.utils.LogNode

The registry for ClassLoaderHandler classes.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
ClassLoaderHandlerRegistry.ClassLoaderHandlerRegistryEntry

A list of fully-qualified ClassLoader class names paired with the ClassLoaderHandler that can handle them.

Field Summary

Modifier and TypeField and Description
public static final String[]
AUTOMATIC_LIB_DIR_PREFIXES

Lib dirs whose jars should be added to the classpath automatically (to compensate for some classloaders not explicitly listing these jars as classpath elements).

public static final String[]
AUTOMATIC_PACKAGE_ROOT_PREFIXES

Automatic classfile prefixes (to compensate for some classloaders not explicitly listing these prefixes as part of the classpath element URL or path).

public static final List<ClassLoaderHandlerRegistry.ClassLoaderHandlerRegistryEntry>
CLASS_LOADER_HANDLERS

Default ClassLoaderHandlers.

public static final ClassLoaderHandlerRegistry.ClassLoaderHandlerRegistryEntry
FALLBACK_HANDLER

Fallback ClassLoaderHandler.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

AUTOMATIC_LIB_DIR_PREFIXESback to summary
public static final String[] AUTOMATIC_LIB_DIR_PREFIXES

Lib dirs whose jars should be added to the classpath automatically (to compensate for some classloaders not explicitly listing these jars as classpath elements).

AUTOMATIC_PACKAGE_ROOT_PREFIXESback to summary
public static final String[] AUTOMATIC_PACKAGE_ROOT_PREFIXES

Automatic classfile prefixes (to compensate for some classloaders not explicitly listing these prefixes as part of the classpath element URL or path).

CLASS_LOADER_HANDLERSback to summary
public static final List<ClassLoaderHandlerRegistry.ClassLoaderHandlerRegistryEntry> CLASS_LOADER_HANDLERS

Default ClassLoaderHandlers. If a ClassLoaderHandler is added to ClassGraph, it should be added to this list.

Annotations
@SuppressWarnings:null
FALLBACK_HANDLERback to summary
public static final ClassLoaderHandlerRegistry.ClassLoaderHandlerRegistryEntry FALLBACK_HANDLER

Fallback ClassLoaderHandler.

Constructor Detail

ClassLoaderHandlerRegistryback to summary
private ClassLoaderHandlerRegistry()

Constructor.

nonapi.io.github.classgraph.classloaderhandler back to summary

public Class ClassLoaderHandlerRegistry.ClassLoaderHandlerRegistryEntry

extends Object
Class Inheritance
  • java.lang.Object
  • nonapi.io.github.classgraph.classloaderhandler.ClassLoaderHandlerRegistry.ClassLoaderHandlerRegistryEntry

A list of fully-qualified ClassLoader class names paired with the ClassLoaderHandler that can handle them.

Field Summary

Modifier and TypeField and Description
private final Method
canHandleMethod

canHandle method.

public final Class<? extends ClassLoaderHandler>
classLoaderHandlerClass

The ClassLoaderHandler class.

private final Method
findClassLoaderOrderMethod

findClassLoaderOrder method.

private final Method
findClasspathOrderMethod

findClasspathOrder method.

Constructor Summary

AccessConstructor and Description
private
ClassLoaderHandlerRegistryEntry(final Class<? extends ClassLoaderHandler>
The ClassLoaderHandler class.
classLoaderHandlerClass
)

Constructor.

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

true, if this ClassLoaderHandler can handle the ClassLoader.
canHandle
(final Class<?> classLoader, final LogNode
the log.
log
)

Call the static method canHandle(ClassLoader) for the associated ClassLoaderHandler.

public void
findClassLoaderOrder(final ClassLoader classLoader, final ClassLoaderOrder classLoaderOrder, final LogNode
the log
log
)

Call the static method findClassLoaderOrder(ClassLoader, ClassLoaderOrder) for the associated ClassLoaderHandler.

public void
findClasspathOrder(final ClassLoader classLoader, final ClasspathOrder
a ClasspathOrder object.
classpathOrder
,
final ScanSpec scanSpec, final LogNode
the log.
log
)

Call the static method findClasspathOrder(ClassLoader, ClasspathOrder) for the associated ClassLoaderHandler.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

canHandleMethodback to summary
private final Method canHandleMethod

canHandle method.

classLoaderHandlerClassback to summary
public final Class<? extends ClassLoaderHandler> classLoaderHandlerClass

The ClassLoaderHandler class.

findClassLoaderOrderMethodback to summary
private final Method findClassLoaderOrderMethod

findClassLoaderOrder method.

findClasspathOrderMethodback to summary
private final Method findClasspathOrderMethod

findClasspathOrder method.

Constructor Detail

ClassLoaderHandlerRegistryEntryback to summary
private ClassLoaderHandlerRegistryEntry(final Class<? extends ClassLoaderHandler> classLoaderHandlerClass)

Constructor.

Parameters
classLoaderHandlerClass:Class<? extends ClassLoaderHandler>

The ClassLoaderHandler class.

Method Detail

canHandleback to summary
public boolean canHandle(final Class<?> classLoader, final LogNode log)

Call the static method canHandle(ClassLoader) for the associated ClassLoaderHandler.

Parameters
classLoader:Class<?>

the ClassLoader.

log:LogNode

the log.

Returns:boolean

true, if this ClassLoaderHandler can handle the ClassLoader.

findClassLoaderOrderback to summary
public void findClassLoaderOrder(final ClassLoader classLoader, final ClassLoaderOrder classLoaderOrder, final LogNode log)

Call the static method findClassLoaderOrder(ClassLoader, ClassLoaderOrder) for the associated ClassLoaderHandler.

Parameters
classLoader:ClassLoader

the ClassLoader.

classLoaderOrder:ClassLoaderOrder

a ClassLoaderOrder object.

log:LogNode

the log

findClasspathOrderback to summary
public void findClasspathOrder(final ClassLoader classLoader, final ClasspathOrder classpathOrder, final ScanSpec scanSpec, final LogNode log)

Call the static method findClasspathOrder(ClassLoader, ClasspathOrder) for the associated ClassLoaderHandler.

Parameters
classLoader:ClassLoader

the ClassLoader.

classpathOrder:ClasspathOrder

a ClasspathOrder object.

scanSpec:ScanSpec

the ScanSpec.

log:LogNode

the log.