Package net.bytebuddy.dynamic
Interface ClassFileLocator
-
- All Superinterfaces:
java.lang.AutoCloseable,java.io.Closeable
- All Known Subinterfaces:
DynamicType,DynamicType.Loaded<T>,DynamicType.Unloaded<T>
- All Known Implementing Classes:
AgentBuilder.Transformer.ForAdvice.LazyDynamicType,ClassFileLocator.Compound,ClassFileLocator.Filtering,ClassFileLocator.ForClassLoader,ClassFileLocator.ForClassLoader.WeaklyReferenced,ClassFileLocator.ForFolder,ClassFileLocator.ForInstrumentation,ClassFileLocator.ForJarFile,ClassFileLocator.ForModule,ClassFileLocator.ForModule.WeaklyReferenced,ClassFileLocator.ForModuleFile,ClassFileLocator.ForUrl,ClassFileLocator.MultiReleaseAware,ClassFileLocator.NoOp,ClassFileLocator.PackageDiscriminating,ClassFileLocator.Simple,DynamicType.AbstractBase,DynamicType.Default,DynamicType.Default.Loaded,DynamicType.Default.Unloaded,Plugin.Engine.Default.SourceEntryPrependingClassFileLocator
public interface ClassFileLocator extends java.io.CloseableLocates a class file or its byte array representation when it is given its type description.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classClassFileLocator.CompoundA compoundClassFileLocatorthat chains several locators.static classClassFileLocator.FilteringA class file locator that only applies for matched names.static classClassFileLocator.ForClassLoaderA class file locator that queries a class loader for binary representations of class files.static classClassFileLocator.ForFolderA class file locator that finds files from a standardized Java folder structure with folders donating packages and class files being saved as<classname>.classfiles within their package folder.static classClassFileLocator.ForInstrumentationA Java agent that allows the location of class files by emulating a retransformation.static classClassFileLocator.ForJarFileA class file locator that locates classes within a Java jar file.static classClassFileLocator.ForModuleA class file locator that locates class files by querying a Java module'sgetResourceAsStreammethod.static classClassFileLocator.ForModuleFileA class file locator that locates classes within a Java jmod file.static classClassFileLocator.ForUrlA class file locator that reads class files from one or several URLs.static classClassFileLocator.MultiReleaseAwareA class file locator that is aware of multi-release JAR file semantics.static classClassFileLocator.NoOpA class file locator that cannot locate any class files.static classClassFileLocator.PackageDiscriminatingA class file locator that discriminates by a type's package.static interfaceClassFileLocator.ResolutionRepresents a class file as binary data.static classClassFileLocator.SimpleA simple class file locator that returns class files from a selection of given types.
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCLASS_FILE_EXTENSIONThe file extension for a Java class file.static java.lang.StringMETA_INF_VERSIONSThe prefix folder forMETA-INF/versions/which contains multi-release files.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ClassFileLocator.Resolutionlocate(java.lang.String name)Locates the class file for a given type and returns the binary data of the class file.
-
-
-
Field Detail
-
CLASS_FILE_EXTENSION
static final java.lang.String CLASS_FILE_EXTENSION
The file extension for a Java class file.- See Also:
- Constant Field Values
-
META_INF_VERSIONS
static final java.lang.String META_INF_VERSIONS
The prefix folder forMETA-INF/versions/which contains multi-release files.- See Also:
- Constant Field Values
-
-
Method Detail
-
locate
ClassFileLocator.Resolution locate(java.lang.String name) throws java.io.IOException
Locates the class file for a given type and returns the binary data of the class file.- 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:
java.io.IOException- If reading a class file causes an error.
-
-