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 int
identification
The id used for identifying the loaded type initializer that was added to theNexus
.private NexusAccessor
nexusAccessor
The nexus accessor to use.
-
Constructor Summary
Constructors Modifier Constructor Description protected
Resolved(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.TypeInitializer
injectedInto(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:
injectedInto
in 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, S classLoader, ClassLoadingStrategy<? super S> classLoadingStrategy)
Loads and initializes a dynamic type.- Specified by:
initialize
in 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.
-
-