Interface AuxiliaryType
-
- All Known Implementing Classes:
FieldProxy.Binder.AccessorProxy
,MethodCallProxy
,Morph.Binder.RedirectionProxy
,Pipe.Binder.Redirection
,PrivilegedMemberLookupAction
,TrivialType
,TypeProxy
public interface AuxiliaryType
An auxiliary type that provides services to the instrumentation of another type. Implementations should provide meaningfulequals(Object)
andhashCode()
implementations in order to avoid multiple creations of this type.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
AuxiliaryType.NamingStrategy
Representation of a naming strategy for an auxiliary type.static interface
AuxiliaryType.SignatureRelevant
A marker to indicate that an auxiliary type is part of the instrumented types signature.
-
Field Summary
Fields Modifier and Type Field Description static ModifierContributor.ForType[]
DEFAULT_TYPE_MODIFIER
The default type access of an auxiliary type.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description DynamicType
make(java.lang.String auxiliaryTypeName, ClassFileVersion classFileVersion, MethodAccessorFactory methodAccessorFactory)
Creates a new auxiliary type.
-
-
-
Field Detail
-
DEFAULT_TYPE_MODIFIER
static final ModifierContributor.ForType[] DEFAULT_TYPE_MODIFIER
The default type access of an auxiliary type. This array must not be mutated.
-
-
Method Detail
-
make
DynamicType make(java.lang.String auxiliaryTypeName, ClassFileVersion classFileVersion, MethodAccessorFactory methodAccessorFactory)
Creates a new auxiliary type.- Parameters:
auxiliaryTypeName
- The fully qualified binary name for this auxiliary type. The type should be in the same package than the instrumented type this auxiliary type is providing services to in order to allow package-private access.classFileVersion
- The class file version the auxiliary class should be written in.methodAccessorFactory
- A factory for accessor methods.- Returns:
- A dynamically created type representing this auxiliary type.
-
-