@HashCodeAndEqualsPlugin.Enhance public static class ClassFileLocator.ForClassLoader extends Object implements ClassFileLocator
A class file locator that queries a class loader for binary representations of class files.
 Important: Even when calling Closeable.close() on this class file locator, no underlying
 class loader is closed if it implements the Closeable interface as this is typically not intended.
 
| Modifier and Type | Class and Description | 
|---|---|
protected static class  | 
ClassFileLocator.ForClassLoader.BootLoaderProxyCreationAction
A privileged action for creating a proxy class loader for the boot class loader. 
 | 
static class  | 
ClassFileLocator.ForClassLoader.WeaklyReferenced
 A class file locator that queries a class loader for binary representations of class files. 
 | 
ClassFileLocator.Compound, ClassFileLocator.ForClassLoader, ClassFileLocator.ForFolder, ClassFileLocator.ForInstrumentation, ClassFileLocator.ForJarFile, ClassFileLocator.ForModule, ClassFileLocator.ForModuleFile, ClassFileLocator.ForUrl, ClassFileLocator.NoOp, ClassFileLocator.PackageDiscriminating, ClassFileLocator.Resolution, ClassFileLocator.SimpleCLASS_FILE_EXTENSION| Modifier | Constructor and Description | 
|---|---|
protected  | 
ForClassLoader(ClassLoader classLoader)
Creates a new class file locator for the given class loader. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
close() | 
protected static ClassFileLocator.Resolution | 
locate(ClassLoader classLoader,
      String name)
Locates the class file for the supplied type by requesting a resource from the class loader. 
 | 
ClassFileLocator.Resolution | 
locate(String name)
Locates the class file for a given type and returns the binary data of the class file. 
 | 
static ClassFileLocator | 
of(ClassLoader classLoader)
Creates a class file locator for a given class loader. 
 | 
static ClassFileLocator | 
ofBootLoader()
Creates a class file locator that queries the boot loader. 
 | 
static ClassFileLocator | 
ofPlatformLoader()
Creates a class file locator that queries the plaform class loader or the extension class loader if the
 current VM is not at least of version 9. 
 | 
static ClassFileLocator | 
ofSystemLoader()
Creates a class file locator that queries the system class loader. 
 | 
static Map<Class<?>,byte[]> | 
read(Class<?>... type)
Attempts to create a binary representation of several loaded types by requesting
 data from their respective  
ClassLoaders. | 
static byte[] | 
read(Class<?> type)
Attempts to create a binary representation of a loaded type by requesting data from its
  
ClassLoader. | 
static Map<Class<?>,byte[]> | 
read(Collection<? extends Class<?>> types)
Attempts to create a binary representation of several loaded types by requesting
 data from their respective  
ClassLoaders. | 
static Map<String,byte[]> | 
readToNames(Class<?>... type)
Attempts to create a binary representation of several loaded types by requesting
 data from their respective  
ClassLoaders. | 
static Map<String,byte[]> | 
readToNames(Collection<? extends Class<?>> types)
Attempts to create a binary representation of several loaded types by requesting
 data from their respective  
ClassLoaders. | 
protected ForClassLoader(ClassLoader classLoader)
classLoader - The class loader to query which must not be the bootstrap class loader, i.e. null.public static ClassFileLocator ofSystemLoader()
public static ClassFileLocator ofPlatformLoader()
public static ClassFileLocator ofBootLoader()
public static ClassFileLocator of(@MaybeNull ClassLoader classLoader)
classLoader - The class loader to be used which might be null to represent the bootstrap loader.public static byte[] read(Class<?> type)
ClassLoader.type - The type of interest.public static Map<Class<?>,byte[]> read(Class<?>... type)
ClassLoaders.type - The types of interest.public static Map<Class<?>,byte[]> read(Collection<? extends Class<?>> types)
ClassLoaders.types - The types of interest.public static Map<String,byte[]> readToNames(Class<?>... type)
ClassLoaders.type - The types of interest.public static Map<String,byte[]> readToNames(Collection<? extends Class<?>> types)
ClassLoaders.types - The types of interest.public ClassFileLocator.Resolution locate(String name) throws IOException
locate in interface ClassFileLocatorname - The name of the type to locate a class file representation for.IOException - If reading a class file causes an error.public void close()
close in interface Closeableclose in interface AutoCloseableprotected static ClassFileLocator.Resolution locate(ClassLoader classLoader, String name) throws IOException
classLoader - The class loader to query.name - The name of the type for which to locate a class file.IOException - If reading the class file causes an exception.Copyright © 2014–2022. All rights reserved.