Package net.bytebuddy.dynamic
Class ClassFileLocator.ForJarFile
java.lang.Object
net.bytebuddy.dynamic.ClassFileLocator.ForJarFile
- All Implemented Interfaces:
Closeable
,AutoCloseable
,ClassFileLocator
- Enclosing interface:
ClassFileLocator
A class file locator that locates classes within a Java jar file.
-
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
FieldsModifier and TypeFieldDescriptionprivate final JarFile
The jar file to read from.A list of potential locations of the runtime jar for different platforms.Fields inherited from interface net.bytebuddy.dynamic.ClassFileLocator
CLASS_FILE_EXTENSION
-
Constructor Summary
ConstructorsConstructorDescriptionForJarFile
(JarFile jarFile) Creates a new class file locator for the given jar 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
Creates a new class file locator for the given jar file.static ClassFileLocator
Resolves a class file locator for the class path that reads class files directly from the file system.static ClassFileLocator
ofClassPath
(String classPath) Resolves a class file locator for the class path that reads class files directly from the file system.static ClassFileLocator
Resolves a class file locator for the runtime jar.
-
Field Details
-
RUNTIME_LOCATIONS
A list of potential locations of the runtime jar for different platforms. -
jarFile
The jar file to read from.
-
-
Constructor Details
-
ForJarFile
Creates a new class file locator for the given jar file.- Parameters:
jarFile
- The jar file to read from.
-
-
Method Details
-
of
Creates a new class file locator for the given jar file.- Parameters:
file
- The jar file to read from.- Returns:
- A class file locator for the jar file.
- Throws:
IOException
- If an I/O exception is thrown.
-
ofClassPath
Resolves a class file locator for the class path that reads class files directly from the file system. The resulting class file locator does not imply classes on the boot path.- Returns:
- A class file locator for the class path.
- Throws:
IOException
- If an I/O exception occurs.
-
ofClassPath
Resolves a class file locator for the class 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:
classPath
- The class 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.
-
ofRuntimeJar
Resolves a class file locator for the runtime jar. If such a file does not exist or cannot be located, a runtime exception is thrown.- Returns:
- A class file locator for the runtime jar, if available.
- Throws:
IOException
- If an I/O exception 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
-