T
- A loaded type that the dynamic type is guaranteed to be a subtype of.public class SubclassDynamicTypeBuilder<T> extends DynamicType.Builder.AbstractBase.Adapter<T>
Modifier and Type | Class and Description |
---|---|
protected static class |
SubclassDynamicTypeBuilder.InstrumentableMatcher
A matcher that locates all methods that are overridable and not ignored or that are directly defined on the instrumented type.
|
DynamicType.Builder.AbstractBase.Adapter.FieldDefinitionAdapter, DynamicType.Builder.AbstractBase.Adapter.FieldMatchAdapter, DynamicType.Builder.AbstractBase.Adapter.MethodDefinitionAdapter, DynamicType.Builder.AbstractBase.Adapter.MethodMatchAdapter, DynamicType.Builder.AbstractBase.Adapter.OptionalMethodMatchAdapter, DynamicType.Builder.AbstractBase.Adapter.TypeVariableDefinitionAdapter
DynamicType.Builder.AbstractBase.Adapter<U>, DynamicType.Builder.AbstractBase.Delegator<U>
DynamicType.Builder.AbstractBase<S>, DynamicType.Builder.FieldDefinition<S>, DynamicType.Builder.MethodDefinition<S>, DynamicType.Builder.TypeVariableDefinition<S>
annotationRetention, annotationValueFilterFactory, asmVisitorWrapper, auxiliaryTypeNamingStrategy, classFileVersion, fieldRegistry, ignoredMethods, implementationContextFactory, instrumentedType, methodGraphCompiler, methodRegistry, typeAttributeAppender, typeValidation
Modifier | Constructor and Description |
---|---|
|
SubclassDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
LatentMatcher<? super MethodDescription> ignoredMethods,
ConstructorStrategy constructorStrategy)
Creates a new type builder for creating a subclass.
|
protected |
SubclassDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
LatentMatcher<? super MethodDescription> ignoredMethods,
ConstructorStrategy constructorStrategy)
Creates a new type builder for creating a subclass.
|
Modifier and Type | Method and Description |
---|---|
DynamicType.Unloaded<T> |
make(TypeResolutionStrategy typeResolutionStrategy)
Creates the dynamic type this builder represents.
|
DynamicType.Unloaded<T> |
make(TypeResolutionStrategy typeResolutionStrategy,
TypePool typePool)
Creates the dynamic type this builder represents.
|
protected DynamicType.Builder<T> |
materialize(InstrumentedType.WithFlexibleName instrumentedType,
FieldRegistry fieldRegistry,
MethodRegistry methodRegistry,
TypeAttributeAppender typeAttributeAppender,
AsmVisitorWrapper asmVisitorWrapper,
ClassFileVersion classFileVersion,
AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy,
AnnotationValueFilter.Factory annotationValueFilterFactory,
AnnotationRetention annotationRetention,
Implementation.Context.Factory implementationContextFactory,
MethodGraph.Compiler methodGraphCompiler,
TypeValidation typeValidation,
LatentMatcher<? super MethodDescription> ignoredMethods)
Materializes the supplied state of a dynamic type builder.
|
annotateType, attribute, defineConstructor, defineField, defineMethod, field, ignoreAlso, implement, initializer, initializer, invokable, merge, modifiers, name, transform, typeVariable, visit
annotateType, annotateType, annotateType, constructor, define, define, define, define, define, defineConstructor, defineConstructor, defineField, defineField, defineField, defineField, defineField, defineMethod, defineMethod, defineMethod, defineMethod, defineMethod, field, ignoreAlso, implement, implement, implement, invokable, make, make, merge, method, modifiers, modifiers, serialVersionUid, typeVariable, typeVariable, typeVariable, typeVariable
public SubclassDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType, ClassFileVersion classFileVersion, AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy, AnnotationValueFilter.Factory annotationValueFilterFactory, AnnotationRetention annotationRetention, Implementation.Context.Factory implementationContextFactory, MethodGraph.Compiler methodGraphCompiler, TypeValidation typeValidation, LatentMatcher<? super MethodDescription> ignoredMethods, ConstructorStrategy constructorStrategy)
instrumentedType
- An instrumented type representing the subclass.classFileVersion
- The class file version to use for types that are not based on an existing class file.auxiliaryTypeNamingStrategy
- The naming strategy to use for naming auxiliary types.annotationValueFilterFactory
- The annotation value filter factory to use.annotationRetention
- The annotation retention strategy to use.implementationContextFactory
- The implementation context factory to use.methodGraphCompiler
- The method graph compiler to use.typeValidation
- Determines if a type should be explicitly validated.ignoredMethods
- A matcher for identifying methods that should be excluded from instrumentation.constructorStrategy
- The constructor strategy to apply onto the instrumented type.protected SubclassDynamicTypeBuilder(InstrumentedType.WithFlexibleName instrumentedType, FieldRegistry fieldRegistry, MethodRegistry methodRegistry, TypeAttributeAppender typeAttributeAppender, AsmVisitorWrapper asmVisitorWrapper, ClassFileVersion classFileVersion, AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy, AnnotationValueFilter.Factory annotationValueFilterFactory, AnnotationRetention annotationRetention, Implementation.Context.Factory implementationContextFactory, MethodGraph.Compiler methodGraphCompiler, TypeValidation typeValidation, LatentMatcher<? super MethodDescription> ignoredMethods, ConstructorStrategy constructorStrategy)
instrumentedType
- An instrumented type representing the subclass.fieldRegistry
- The field pool to use.methodRegistry
- The method pool to use.typeAttributeAppender
- The type attribute appender to apply onto the instrumented type.asmVisitorWrapper
- The ASM visitor wrapper to apply onto the class writer.classFileVersion
- The class file version to use for types that are not based on an existing class file.auxiliaryTypeNamingStrategy
- The naming strategy to use for naming auxiliary types.annotationValueFilterFactory
- The annotation value filter factory to use.annotationRetention
- The annotation retention strategy to use.implementationContextFactory
- The implementation context factory to use.methodGraphCompiler
- The method graph compiler to use.typeValidation
- Determines if a type should be explicitly validated.ignoredMethods
- A matcher for identifying methods that should be excluded from instrumentation.constructorStrategy
- The constructor strategy to apply onto the instrumented type.protected DynamicType.Builder<T> materialize(InstrumentedType.WithFlexibleName instrumentedType, FieldRegistry fieldRegistry, MethodRegistry methodRegistry, TypeAttributeAppender typeAttributeAppender, AsmVisitorWrapper asmVisitorWrapper, ClassFileVersion classFileVersion, AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy, AnnotationValueFilter.Factory annotationValueFilterFactory, AnnotationRetention annotationRetention, Implementation.Context.Factory implementationContextFactory, MethodGraph.Compiler methodGraphCompiler, TypeValidation typeValidation, LatentMatcher<? super MethodDescription> ignoredMethods)
DynamicType.Builder.AbstractBase.Adapter
materialize
in class DynamicType.Builder.AbstractBase.Adapter<T>
instrumentedType
- The instrumented type.fieldRegistry
- The current field registry.methodRegistry
- The current method registry.typeAttributeAppender
- The type attribute appender to apply onto the instrumented type.asmVisitorWrapper
- The ASM visitor wrapper to apply onto the class writer.classFileVersion
- The class file version to define auxiliary types in.auxiliaryTypeNamingStrategy
- The naming strategy for auxiliary types to apply.annotationValueFilterFactory
- The annotation value filter factory to apply.annotationRetention
- The annotation retention to apply.implementationContextFactory
- The implementation context factory to apply.methodGraphCompiler
- The method graph compiler to use.typeValidation
- The type validation state.ignoredMethods
- A matcher for identifying methods that should be excluded from instrumentation.public DynamicType.Unloaded<T> make(TypeResolutionStrategy typeResolutionStrategy)
DynamicType.Builder
Creates the dynamic type this builder represents. If the specified dynamic type is not legal, an IllegalStateException
is thrown.
The dynamic type is initialized using a TypeResolutionStrategy.Passive
strategy. Using this strategy, no
LoadedTypeInitializer
is run during the execution of the type's initializer such that no Implementation
used for
executing the initializer must rely on such an initializer.
typeResolutionStrategy
- The type resolution strategy to use for the created type's initialization.public DynamicType.Unloaded<T> make(TypeResolutionStrategy typeResolutionStrategy, TypePool typePool)
DynamicType.Builder
IllegalStateException
is thrown.typeResolutionStrategy
- The type resolution strategy to use for the created type's initialization.typePool
- A type pool that is used for computing stack map frames by the underlying class writer, if required.Copyright © 2014–2017. All rights reserved.