Package net.bytebuddy.dynamic
Class ClassFileLocator.PackageDiscriminating
- java.lang.Object
-
- net.bytebuddy.dynamic.ClassFileLocator.PackageDiscriminating
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,ClassFileLocator
- Enclosing interface:
- ClassFileLocator
@Enhance public static class ClassFileLocator.PackageDiscriminating extends java.lang.Object implements ClassFileLocator
A class file locator that discriminates by a type's package.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.ClassFileLocator
ClassFileLocator.AgentBased, ClassFileLocator.Compound, ClassFileLocator.ForClassLoader, ClassFileLocator.ForFolder, ClassFileLocator.ForJarFile, ClassFileLocator.ForModule, ClassFileLocator.ForModuleFile, ClassFileLocator.ForUrl, ClassFileLocator.NoOp, ClassFileLocator.PackageDiscriminating, ClassFileLocator.Resolution, ClassFileLocator.Simple
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,ClassFileLocator>classFileLocatorsA mapping of package names to class file locators.-
Fields inherited from interface net.bytebuddy.dynamic.ClassFileLocator
CLASS_FILE_EXTENSION
-
-
Constructor Summary
Constructors Constructor Description PackageDiscriminating(java.util.Map<java.lang.String,ClassFileLocator> classFileLocators)Creates a new package-discriminating class file locator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()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
-
classFileLocators
private final java.util.Map<java.lang.String,ClassFileLocator> classFileLocators
A mapping of package names to class file locators.
-
-
Constructor Detail
-
PackageDiscriminating
public PackageDiscriminating(java.util.Map<java.lang.String,ClassFileLocator> classFileLocators)
Creates a new package-discriminating class file locator.- Parameters:
classFileLocators- A mapping of package names to class file locators where an empty string donates the default package.
-
-
Method Detail
-
locate
public 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.- 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:
java.io.IOException- If reading a class file causes an error.
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
java.io.IOException
-
-