Interface AuxiliaryType
- All Known Implementing Classes:
FieldProxy.Binder.AccessorProxy
,MethodCallProxy
,Morph.Binder.RedirectionProxy
,Pipe.Binder.RedirectionProxy
,PrivilegedMemberLookupAction
,TrivialType
,TypeProxy
public interface AuxiliaryType
An auxiliary type that provides services to the instrumentation of another type. Implementations should provide
meaningful
equals(Object)
and hashCode()
implementations in order to avoid multiple creations
of this type.-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
Representation of a naming strategy for an auxiliary type.static @interface
A marker to indicate that an auxiliary type is part of the instrumented types signature. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ModifierContributor.ForType[]
The default type access of an auxiliary type. -
Method Summary
Modifier and TypeMethodDescriptionProduces a suffix that gives this auxiliary type a stable name.make
(String auxiliaryTypeName, ClassFileVersion classFileVersion, MethodAccessorFactory methodAccessorFactory) Creates a new auxiliary type.
-
Field Details
-
DEFAULT_TYPE_MODIFIER
The default type access of an auxiliary type. This array must not be mutated.
-
-
Method Details
-
make
DynamicType make(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.
-
getSuffix
String getSuffix()Produces a suffix that gives this auxiliary type a stable name. A best effort is made that this suffix is unique.- Returns:
- The suffix for this auxiliary type.
-