Package net.bytebuddy.dynamic
Class ClassFileLocator.ForModule.WeaklyReferenced
java.lang.Object
java.lang.ref.Reference<Object>
java.lang.ref.WeakReference<Object>
net.bytebuddy.dynamic.ClassFileLocator.ForModule.WeaklyReferenced
- All Implemented Interfaces:
Closeable,AutoCloseable,ClassFileLocator
- Enclosing class:
ClassFileLocator.ForModule
public static class ClassFileLocator.ForModule.WeaklyReferenced
extends WeakReference<Object>
implements ClassFileLocator
A class file locator for a Java module that only references this module weakly. If a module was garbage collected, this class file locator only returns unresolved resolutions.
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.
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.ClassFileLocator
ClassFileLocator.Compound, ClassFileLocator.Filtering, ClassFileLocator.ForClassLoader, ClassFileLocator.ForFolder, ClassFileLocator.ForInstrumentation, ClassFileLocator.ForJarFile, ClassFileLocator.ForModule, ClassFileLocator.ForModuleFile, ClassFileLocator.ForUrl, ClassFileLocator.NoOp, ClassFileLocator.PackageDiscriminating, ClassFileLocator.Resolution, ClassFileLocator.Simple -
Field Summary
FieldsFields inherited from interface net.bytebuddy.dynamic.ClassFileLocator
CLASS_FILE_EXTENSION -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedWeaklyReferenced(Object module) Creates a class file locator for a Java module that is weakly referenced. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()booleaninthashCode()Locates the class file for a given type and returns the binary data of the class file.static ClassFileLocatorof(JavaModule module) Creates a class file locator for a Java module where the module is referenced weakly.Methods inherited from class java.lang.ref.Reference
clear, clone, enqueue, get, isEnqueued, reachabilityFence, refersTo
-
Field Details
-
hashCode
private final int hashCodeThe represented module's hash code.
-
-
Constructor Details
-
WeaklyReferenced
Creates a class file locator for a Java module that is weakly referenced.- Parameters:
module- The raw Java module to represent.
-
-
Method Details
-
of
Creates a class file locator for a Java module where the module is referenced weakly. If the module is not named, the module's class loader is represented instead. Module's of the boot layer are not referenced weakly.- Parameters:
module- The Java module to represent.- Returns:
- A suitable class file locator.
-
locate
Locates the class file for a given type and returns the binary data of the class file.- Specified by:
locatein interfaceClassFileLocator- Parameters:
name- The name of the type to locate a class file representation for.- Returns:
- Any binary representation of the type which might be illegal.
- Throws:
IOException- If reading a class file causes an error.
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
hashCode
public int hashCode() -
equals
-