Package net.bytebuddy.dynamic
Class TypeResolutionStrategy.Active.Resolved
- java.lang.Object
-
- net.bytebuddy.dynamic.TypeResolutionStrategy.Active.Resolved
-
- All Implemented Interfaces:
TypeResolutionStrategy.Resolved
- Enclosing class:
- TypeResolutionStrategy.Active
@Enhance protected static class TypeResolutionStrategy.Active.Resolved extends java.lang.Object implements TypeResolutionStrategy.Resolved
A resolved version of an active type resolution strategy.
-
-
Field Summary
Fields Modifier and Type Field Description private intidentificationThe id used for identifying the loaded type initializer that was added to theNexus.private NexusAccessornexusAccessorThe nexus accessor to use.
-
Constructor Summary
Constructors Modifier Constructor Description protectedResolved(NexusAccessor nexusAccessor, int identification)Creates a new resolved active type resolution strategy.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <S extends java.lang.ClassLoader>
java.util.Map<TypeDescription,java.lang.Class<?>>initialize(DynamicType dynamicType, S classLoader, ClassLoadingStrategy<? super S> classLoadingStrategy)Loads and initializes a dynamic type.TypeInitializerinjectedInto(TypeInitializer typeInitializer)Injects a type initializer into the supplied type initializer, if applicable.
-
-
-
Field Detail
-
nexusAccessor
private final NexusAccessor nexusAccessor
The nexus accessor to use.
-
identification
private final int identification
The id used for identifying the loaded type initializer that was added to theNexus.
-
-
Constructor Detail
-
Resolved
protected Resolved(NexusAccessor nexusAccessor, int identification)
Creates a new resolved active type resolution strategy.- Parameters:
nexusAccessor- The nexus accessor to use.identification- The id used for identifying the loaded type initializer that was added to theNexus.
-
-
Method Detail
-
injectedInto
public TypeInitializer injectedInto(TypeInitializer typeInitializer)
Injects a type initializer into the supplied type initializer, if applicable. This way, a type resolution strategy is capable of injecting code into the generated class's initializer to inline the initialization.- Specified by:
injectedIntoin interfaceTypeResolutionStrategy.Resolved- Parameters:
typeInitializer- The type initializer to potentially expend.- Returns:
- A type initializer to apply for performing the represented type resolution.
-
initialize
public <S extends java.lang.ClassLoader> java.util.Map<TypeDescription,java.lang.Class<?>> initialize(DynamicType dynamicType, @MaybeNull S classLoader, ClassLoadingStrategy<? super S> classLoadingStrategy)
Loads and initializes a dynamic type.- Specified by:
initializein interfaceTypeResolutionStrategy.Resolved- Type Parameters:
S- The least specific type of class loader this strategy can apply to.- Parameters:
dynamicType- The dynamic type to initialize.classLoader- The class loader to use.classLoadingStrategy- The class loading strategy to use.- Returns:
- A map of all type descriptions mapped to their representation as a loaded class.
-
-