Package net.bytebuddy.dynamic
Class ClassFileLocator.ForModuleFile
java.lang.Object
net.bytebuddy.dynamic.ClassFileLocator.ForModuleFile
- All Implemented Interfaces:
Closeable
,AutoCloseable
,ClassFileLocator
- Enclosing interface:
ClassFileLocator
@Enhance
public static class ClassFileLocator.ForModuleFile
extends Object
implements ClassFileLocator
A class file locator that locates classes within a Java jmod file. This class file locator should not be used
for reading modular jar files for which
ClassFileLocator.ForJarFile
is appropriate.-
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.MultiReleaseAware, ClassFileLocator.NoOp, ClassFileLocator.PackageDiscriminating, ClassFileLocator.Resolution, ClassFileLocator.Simple
-
Field Summary
FieldsModifier and TypeFieldDescriptionA list of potential locations of the boot path for different platforms.private static final String
The file extension of a modular Java package.private final ZipFile
The represented jmod file.Fields inherited from interface net.bytebuddy.dynamic.ClassFileLocator
CLASS_FILE_EXTENSION, META_INF_VERSIONS
-
Constructor Summary
ConstructorsConstructorDescriptionForModuleFile
(ZipFile zipFile) Creates a new class file locator for a jmod file. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Locates the class file for a given type and returns the binary data of the class file.static ClassFileLocator
Returns a class file locator for the given module file.static ClassFileLocator
Creates a new class file locator for this VM's boot module path.static ClassFileLocator
ofBootPath
(File bootPath) Creates a new class file locator for a Java boot module path.static ClassFileLocator
Resolves a class file locator for this VM's Java module path that reads class files directly from the file system.static ClassFileLocator
ofModulePath
(String modulePath) Resolves a class file locator for a Java module path that reads class files directly from the file system.static ClassFileLocator
ofModulePath
(String modulePath, String baseFolder) Resolves a class file locator for a Java module path that reads class files directly from the file system.
-
Field Details
-
JMOD_FILE_EXTENSION
The file extension of a modular Java package.- See Also:
-
BOOT_LOCATIONS
A list of potential locations of the boot path for different platforms. -
zipFile
The represented jmod file.
-
-
Constructor Details
-
ForModuleFile
Creates a new class file locator for a jmod file.- Parameters:
zipFile
- The represented jmod file.
-
-
Method Details
-
ofBootPath
Creates a new class file locator for this VM's boot module path.- Returns:
- A class file locator for this VM's boot module path.
- Throws:
IOException
- If an I/O error occurs.
-
ofBootPath
Creates a new class file locator for a Java boot module path.- Parameters:
bootPath
- The boot path folder.- Returns:
- A class file locator for this VMs boot module path.
- Throws:
IOException
- If an I/O error occurs.
-
ofModulePath
Resolves a class file locator for this VM's Java module path that reads class files directly from the file system.
Note: The resulting class file locator does not include classes of the bootstrap class loader.
- Returns:
- A class file locator for the class path.
- Throws:
IOException
- If an I/O exception occurs.
-
ofModulePath
Resolves a class file locator for a Java module path that reads class files directly from the file system. All elements of the module path are resolved relative to this VM's
user.dir
.Note: The resulting class file locator does not include classes of the bootstrap class loader.
- Parameters:
modulePath
- The module path to scan with the elements separated bypath.separator
.- Returns:
- A class file locator for the class path.
- Throws:
IOException
- If an I/O exception occurs.
-
ofModulePath
public static ClassFileLocator ofModulePath(String modulePath, String baseFolder) throws IOException Resolves a class file locator for a Java module path that reads class files directly from the file system.
Note: The resulting class file locator does not include classes of the bootstrap class loader.
- Parameters:
modulePath
- The module path to scan with the elements separated bypath.separator
.baseFolder
- The relative location of the elements on the module path.- Returns:
- A class file locator for the class path.
- Throws:
IOException
- If an I/O exception occurs.
-
of
Returns a class file locator for the given module file.- Parameters:
file
- The module file.- Returns:
- A class file locator for the given module
- Throws:
IOException
- If an I/O error occurs.
-
locate
Locates the class file for a given type and returns the binary data of the class file.- Specified by:
locate
in 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
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-