Package net.bytebuddy.dynamic.loading
Class ClassLoadingStrategy.ForUnsafeInjection
- java.lang.Object
-
- net.bytebuddy.dynamic.loading.ClassLoadingStrategy.ForUnsafeInjection
-
- All Implemented Interfaces:
ClassLoadingStrategy<java.lang.ClassLoader>
- Enclosing interface:
- ClassLoadingStrategy<T extends java.lang.ClassLoader>
@Enhance public static class ClassLoadingStrategy.ForUnsafeInjection extends java.lang.Object implements ClassLoadingStrategy<java.lang.ClassLoader>
A class loading strategy that injects a class usingsun.misc.Unsafe
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.loading.ClassLoadingStrategy
ClassLoadingStrategy.Configurable<S extends java.lang.ClassLoader>, ClassLoadingStrategy.Default, ClassLoadingStrategy.ForBootstrapInjection, ClassLoadingStrategy.ForUnsafeInjection, ClassLoadingStrategy.UsingLookup
-
-
Field Summary
Fields Modifier and Type Field Description private java.security.ProtectionDomain
protectionDomain
The protection domain to use ornull
if no protection domain is set.-
Fields inherited from interface net.bytebuddy.dynamic.loading.ClassLoadingStrategy
BOOTSTRAP_LOADER, NO_PROTECTION_DOMAIN
-
-
Constructor Summary
Constructors Constructor Description ForUnsafeInjection()
Creates a new class loading strategy for unsafe injection with a default protection domain.ForUnsafeInjection(java.security.ProtectionDomain protectionDomain)
Creates a new class loading strategy for unsafe injection.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<TypeDescription,java.lang.Class<?>>
load(java.lang.ClassLoader classLoader, java.util.Map<TypeDescription,byte[]> types)
Loads a given collection of classes given their binary representation.
-
-
-
Field Detail
-
protectionDomain
@ValueHandling(REVERSE_NULLABILITY) private final java.security.ProtectionDomain protectionDomain
The protection domain to use ornull
if no protection domain is set.
-
-
Constructor Detail
-
ForUnsafeInjection
public ForUnsafeInjection()
Creates a new class loading strategy for unsafe injection with a default protection domain.
-
ForUnsafeInjection
public ForUnsafeInjection(java.security.ProtectionDomain protectionDomain)
Creates a new class loading strategy for unsafe injection.- Parameters:
protectionDomain
- The protection domain to use ornull
if no protection domain is set.
-
-
Method Detail
-
load
public java.util.Map<TypeDescription,java.lang.Class<?>> load(java.lang.ClassLoader classLoader, java.util.Map<TypeDescription,byte[]> types)
Loads a given collection of classes given their binary representation.- Specified by:
load
in interfaceClassLoadingStrategy<java.lang.ClassLoader>
- Parameters:
classLoader
- The class loader to used for loading the classes.types
- Byte array representations of the types to be loaded mapped by their descriptions, where an iteration order defines an order in which they are supposed to be loaded, if relevant.- Returns:
- A collection of the loaded classes which will be initialized in the iteration order of the returned collection.
-
-