Package net.bytebuddy.agent.builder
Interface AgentBuilder.DescriptionStrategy
-
- All Known Implementing Classes:
AgentBuilder.DescriptionStrategy.Default,AgentBuilder.DescriptionStrategy.SuperTypeLoading,AgentBuilder.DescriptionStrategy.SuperTypeLoading.Asynchronous
- Enclosing interface:
- AgentBuilder
public static interface AgentBuilder.DescriptionStrategyA description strategy is responsible for resolving aTypeDescriptionwhen transforming or retransforming/-defining a type.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classAgentBuilder.DescriptionStrategy.DefaultDefault implementations of aAgentBuilder.DescriptionStrategy.static classAgentBuilder.DescriptionStrategy.SuperTypeLoadingA description strategy that enforces the loading of any super type of a type description but delegates the actual type description to another description strategy.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description TypeDescriptionapply(java.lang.String name, java.lang.Class<?> type, TypePool typePool, AgentBuilder.CircularityLock circularityLock, java.lang.ClassLoader classLoader, JavaModule module)Describes the given type.booleanisLoadedFirst()Indicates if this description strategy makes use of loaded type information and yields a different type description if no loaded type is available.
-
-
-
Method Detail
-
isLoadedFirst
boolean isLoadedFirst()
Indicates if this description strategy makes use of loaded type information and yields a different type description if no loaded type is available.- Returns:
trueif this description strategy prefers loaded type information when describing a type and only uses a type pool if loaded type information is not available.
-
apply
TypeDescription apply(java.lang.String name, @MaybeNull java.lang.Class<?> type, TypePool typePool, AgentBuilder.CircularityLock circularityLock, @MaybeNull java.lang.ClassLoader classLoader, @MaybeNull JavaModule module)
Describes the given type.- Parameters:
name- The binary name of the type to describe.type- The type that is being redefined, if a redefinition is applied ornullif no redefined type is available.typePool- The type pool to use for locating a type if required.classLoader- The type's class loader wherenullrepresents the bootstrap class loader.circularityLock- The currently used circularity lock.module- The type's module ornullif the current VM does not support modules.- Returns:
- An appropriate type description.
-
-