public class AopProxyWriter
extends io.micronaut.inject.writer.AbstractClassFileWriter
implements io.micronaut.inject.writer.ProxyingBeanDefinitionVisitor, io.micronaut.core.util.Toggleable
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
FIELD_BEAN_RESOLUTION_CONTEXT |
static java.lang.String |
FIELD_READ_LOCK |
static java.lang.String |
FIELD_READ_WRITE_LOCK |
static java.lang.String |
FIELD_TARGET |
static org.objectweb.asm.Type |
FIELD_TYPE_INTERCEPTORS |
static java.lang.String |
FIELD_WRITE_LOCK |
static int |
MAX_LOCALS |
static org.objectweb.asm.commons.Method |
METHOD_GET_PROXY_TARGET |
static org.objectweb.asm.commons.Method |
METHOD_GET_PROXY_TARGET_BEAN |
static org.objectweb.asm.commons.Method |
METHOD_GET_PROXY_TARGET_BEAN_WITH_CONTEXT |
static org.objectweb.asm.Type |
TYPE_BEAN_LOCATOR |
static org.objectweb.asm.Type |
TYPE_DEFAULT_BEAN_CONTEXT |
static org.objectweb.asm.Type |
TYPE_INTERCEPTOR_CHAIN |
static org.objectweb.asm.Type |
TYPE_LOCK |
static org.objectweb.asm.Type |
TYPE_METHOD_INTERCEPTOR_CHAIN |
static org.objectweb.asm.Type |
TYPE_READ_WRITE_LOCK |
ARRAY_PATTERN, CONSTRUCTOR_NAME, DEFAULT_MAX_STACK, DESCRIPTOR_DEFAULT_CONSTRUCTOR, METHOD_CREATE_ARGUMENT_SIMPLE, METHOD_CREATE_TYPE_VARIABLE_SIMPLE, METHOD_DEFAULT_CONSTRUCTOR, METHOD_GENERIC_PLACEHOLDER_SIMPLE, originatingElements, TYPE_ARGUMENT, TYPE_ARGUMENT_ARRAY, TYPE_CLASS, TYPE_GENERATED, TYPE_OBJECT, ZERO_ARGUMENTS_CONSTANT
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V9
Constructor and Description |
---|
AopProxyWriter(io.micronaut.inject.writer.BeanDefinitionWriter parent,
io.micronaut.core.value.OptionalValues<java.lang.Boolean> settings,
io.micronaut.inject.configuration.ConfigurationMetadataBuilder<?> metadataBuilder,
io.micronaut.inject.visitor.VisitorContext visitorContext,
io.micronaut.core.annotation.AnnotationValue<?>... interceptorBinding)
Constructs a new
AopProxyWriter for the given parent BeanDefinitionWriter and starting interceptors types. |
AopProxyWriter(java.lang.String packageName,
java.lang.String className,
boolean isInterface,
boolean implementInterface,
io.micronaut.inject.ast.Element originatingElement,
io.micronaut.core.annotation.AnnotationMetadata annotationMetadata,
io.micronaut.inject.ast.ClassElement[] interfaceTypes,
io.micronaut.inject.visitor.VisitorContext visitorContext,
io.micronaut.inject.configuration.ConfigurationMetadataBuilder<?> metadataBuilder,
io.micronaut.inject.configuration.ConfigurationMetadata configurationMetadata,
io.micronaut.core.annotation.AnnotationValue<?>... interceptorBinding)
Constructs a new
AopProxyWriter for the purposes of writing Introduction advise. |
AopProxyWriter(java.lang.String packageName,
java.lang.String className,
boolean isInterface,
io.micronaut.inject.ast.Element originatingElement,
io.micronaut.core.annotation.AnnotationMetadata annotationMetadata,
io.micronaut.inject.ast.ClassElement[] interfaceTypes,
io.micronaut.inject.visitor.VisitorContext visitorContext,
io.micronaut.inject.configuration.ConfigurationMetadataBuilder<?> metadataBuilder,
io.micronaut.inject.configuration.ConfigurationMetadata configurationMetadata,
io.micronaut.core.annotation.AnnotationValue<?>... interceptorBinding)
Constructs a new
AopProxyWriter for the purposes of writing Introduction advise. |
Modifier and Type | Method and Description |
---|---|
void |
accept(io.micronaut.inject.writer.ClassWriterOutputVisitor visitor)
Write the class to output via a visitor that manages output destination.
|
io.micronaut.core.annotation.AnnotationMetadata |
getAnnotationMetadata() |
java.lang.String |
getBeanDefinitionName() |
java.lang.String |
getBeanDefinitionReferenceClassName() |
java.lang.String |
getBeanSimpleName() |
java.lang.String |
getBeanTypeName() |
java.util.Optional<org.objectweb.asm.Type> |
getInterceptedType() |
io.micronaut.inject.ast.Element |
getOriginatingElement()
Deprecated.
|
java.lang.String |
getPackageName() |
org.objectweb.asm.Type |
getProvidedType() |
java.lang.String |
getProxiedBeanDefinitionName() |
java.lang.String |
getProxiedTypeName() |
io.micronaut.inject.ast.ClassElement[] |
getTypeArguments() |
boolean |
isEnabled() |
boolean |
isInterface() |
boolean |
isProxyTarget()
Is the target bean being proxied.
|
boolean |
isSingleton() |
boolean |
isValidated() |
boolean |
requiresMethodProcessing() |
void |
setInterceptedType(java.lang.String typeName) |
void |
setRequiresMethodProcessing(boolean shouldPreProcess) |
void |
setValidated(boolean validated) |
protected void |
startClass(org.objectweb.asm.ClassVisitor classWriter,
java.lang.String className,
org.objectweb.asm.Type superType) |
void |
visitAroundMethod(io.micronaut.inject.ast.TypedElement beanType,
io.micronaut.inject.ast.MethodElement methodElement)
Visit a method that is to be proxied.
|
void |
visitBeanDefinitionConstructor(io.micronaut.inject.ast.MethodElement constructor,
boolean requiresReflection,
io.micronaut.inject.visitor.VisitorContext visitorContext)
Visits a constructor.
|
void |
visitBeanDefinitionEnd()
Finalizes the proxy.
|
void |
visitBeanDefinitionInterface(java.lang.Class<? extends io.micronaut.inject.BeanDefinition> interfaceType) |
void |
visitConfigBuilderDurationMethod(java.lang.String prefix,
io.micronaut.inject.ast.ClassElement returnType,
java.lang.String methodName,
java.lang.String propertyPath) |
void |
visitConfigBuilderEnd() |
void |
visitConfigBuilderField(io.micronaut.inject.ast.ClassElement type,
java.lang.String field,
io.micronaut.core.annotation.AnnotationMetadata annotationMetadata,
io.micronaut.inject.configuration.ConfigurationMetadataBuilder metadataBuilder,
boolean isInterface) |
void |
visitConfigBuilderMethod(io.micronaut.inject.ast.ClassElement type,
java.lang.String methodName,
io.micronaut.core.annotation.AnnotationMetadata annotationMetadata,
io.micronaut.inject.configuration.ConfigurationMetadataBuilder metadataBuilder,
boolean isInterface) |
void |
visitConfigBuilderMethod(java.lang.String prefix,
io.micronaut.inject.ast.ClassElement returnType,
java.lang.String methodName,
io.micronaut.inject.ast.ClassElement paramType,
java.util.Map<java.lang.String,io.micronaut.inject.ast.ClassElement> generics,
java.lang.String propertyPath) |
void |
visitDefaultConstructor(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata,
io.micronaut.inject.visitor.VisitorContext visitorContext) |
int |
visitExecutableMethod(io.micronaut.inject.ast.TypedElement declaringBean,
io.micronaut.inject.ast.MethodElement methodElement,
io.micronaut.inject.visitor.VisitorContext visitorContext) |
void |
visitFieldInjectionPoint(io.micronaut.inject.ast.TypedElement declaringType,
io.micronaut.inject.ast.FieldElement fieldType,
boolean requiresReflection) |
void |
visitFieldValue(io.micronaut.inject.ast.TypedElement declaringType,
io.micronaut.inject.ast.FieldElement fieldType,
boolean requiresReflection,
boolean isOptional) |
void |
visitInterceptorBinding(io.micronaut.core.annotation.AnnotationValue<?>... interceptorBinding)
visitInterceptorTypes.
|
void |
visitIntroductionMethod(io.micronaut.inject.ast.TypedElement declaringBean,
io.micronaut.inject.ast.MethodElement methodElement)
Visit a abstract method that is to be implemented.
|
void |
visitMethodInjectionPoint(io.micronaut.inject.ast.TypedElement beanType,
io.micronaut.inject.ast.MethodElement methodElement,
boolean requiresReflection,
io.micronaut.inject.visitor.VisitorContext visitorContext) |
void |
visitPostConstructMethod(io.micronaut.inject.ast.TypedElement declaringType,
io.micronaut.inject.ast.MethodElement methodElement,
boolean requiresReflection,
io.micronaut.inject.visitor.VisitorContext visitorContext) |
void |
visitPreDestroyMethod(io.micronaut.inject.ast.TypedElement declaringType,
io.micronaut.inject.ast.MethodElement methodElement,
boolean requiresReflection,
io.micronaut.inject.visitor.VisitorContext visitorContext) |
void |
visitSetterValue(io.micronaut.inject.ast.TypedElement declaringType,
io.micronaut.inject.ast.MethodElement methodElement,
boolean requiresReflection,
boolean isOptional) |
void |
visitSuperBeanDefinition(java.lang.String name) |
void |
visitSuperBeanDefinitionFactory(java.lang.String beanName) |
void |
visitTypeArguments(java.util.Map<java.lang.String,java.util.Map<java.lang.String,io.micronaut.inject.ast.ClassElement>> typeArguments) |
void |
writeTo(java.io.File compilationDir)
Write the proxy to the given compilation directory.
|
addOriginatingElement, buildArgument, buildArgument, buildArgumentWithGenerics, buildArgumentWithGenerics, generateServiceDescriptor, getClassFileName, getConstructorDescriptor, getConstructorDescriptor, getConstructorDescriptor, getInternalName, getInternalNameForCast, getInternalNameForCast, getInternalNameForCast, getMethodDescriptor, getMethodDescriptor, getMethodDescriptor, getMethodDescriptor, getMethodDescriptorForReturnType, getMethodSignature, getObjectType, getOriginatingElements, getTypeDescriptor, getTypeDescriptor, getTypeDescriptor, getTypeDescriptor, getTypeReference, getTypeReferenceForName, getTypes, implementInterceptedTypeMethod, invokeConstructor, invokeInterfaceStaticMethod, invokeMethod, newClassWriterOutputVisitor, pushArgument, pushBoxPrimitiveIfNecessary, pushBoxPrimitiveIfNecessary, pushBoxPrimitiveIfNecessary, pushBuildArgumentsForMethod, pushCastToType, pushCastToType, pushCastToType, pushCreateArgument, pushMethodNameAndTypesArguments, pushNewArray, pushNewArray, pushNewInstance, pushReturnValue, pushStoreInArray, pushStoreInArray, pushStoreStringInArray, pushStoreTypeInArray, pushStringMapOf, pushTypeArgumentElements, returnVoid, startClass, startConstructor, startConstructor, startFinalClass, startProtectedMethod, startPublicClass, startPublicFinalClass, startPublicFinalMethodZeroArgs, startPublicMethod, startPublicMethod, startPublicMethodZeroArgs, startService, startService, visitStaticInitializer, writeBooleanMethod, writeClassToDisk, writeClassToDisk
public static final int MAX_LOCALS
public static final org.objectweb.asm.commons.Method METHOD_GET_PROXY_TARGET
public static final org.objectweb.asm.commons.Method METHOD_GET_PROXY_TARGET_BEAN_WITH_CONTEXT
public static final org.objectweb.asm.commons.Method METHOD_GET_PROXY_TARGET_BEAN
public static final org.objectweb.asm.Type FIELD_TYPE_INTERCEPTORS
public static final org.objectweb.asm.Type TYPE_INTERCEPTOR_CHAIN
public static final org.objectweb.asm.Type TYPE_METHOD_INTERCEPTOR_CHAIN
public static final java.lang.String FIELD_TARGET
public static final java.lang.String FIELD_BEAN_RESOLUTION_CONTEXT
public static final java.lang.String FIELD_READ_WRITE_LOCK
public static final org.objectweb.asm.Type TYPE_READ_WRITE_LOCK
public static final java.lang.String FIELD_READ_LOCK
public static final java.lang.String FIELD_WRITE_LOCK
public static final org.objectweb.asm.Type TYPE_LOCK
public static final org.objectweb.asm.Type TYPE_BEAN_LOCATOR
public static final org.objectweb.asm.Type TYPE_DEFAULT_BEAN_CONTEXT
public AopProxyWriter(io.micronaut.inject.writer.BeanDefinitionWriter parent, io.micronaut.core.value.OptionalValues<java.lang.Boolean> settings, io.micronaut.inject.configuration.ConfigurationMetadataBuilder<?> metadataBuilder, io.micronaut.inject.visitor.VisitorContext visitorContext, io.micronaut.core.annotation.AnnotationValue<?>... interceptorBinding)
Constructs a new AopProxyWriter
for the given parent BeanDefinitionWriter
and starting interceptors types.
Additional Interceptor
types can be added downstream with visitInterceptorBinding(AnnotationValue[])
.
parent
- The parent BeanDefinitionWriter
settings
- optional settingmetadataBuilder
- The configuration metadata buildervisitorContext
- The visitor contextinterceptorBinding
- The interceptor binding of the Interceptor
instances to be injectedpublic AopProxyWriter(java.lang.String packageName, java.lang.String className, boolean isInterface, io.micronaut.inject.ast.Element originatingElement, io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.inject.ast.ClassElement[] interfaceTypes, io.micronaut.inject.visitor.VisitorContext visitorContext, io.micronaut.inject.configuration.ConfigurationMetadataBuilder<?> metadataBuilder, io.micronaut.inject.configuration.ConfigurationMetadata configurationMetadata, io.micronaut.core.annotation.AnnotationValue<?>... interceptorBinding)
AopProxyWriter
for the purposes of writing Introduction
advise.packageName
- The package nameclassName
- The class nameisInterface
- Is the target of the advise an interfaceoriginatingElement
- The originating elementannotationMetadata
- The annotation metadatainterfaceTypes
- The additional interfaces to implementvisitorContext
- The visitor contextmetadataBuilder
- The configuration metadata builderconfigurationMetadata
- The configuration metadata for the classinterceptorBinding
- The interceptor typespublic AopProxyWriter(java.lang.String packageName, java.lang.String className, boolean isInterface, boolean implementInterface, io.micronaut.inject.ast.Element originatingElement, io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.inject.ast.ClassElement[] interfaceTypes, io.micronaut.inject.visitor.VisitorContext visitorContext, io.micronaut.inject.configuration.ConfigurationMetadataBuilder<?> metadataBuilder, io.micronaut.inject.configuration.ConfigurationMetadata configurationMetadata, io.micronaut.core.annotation.AnnotationValue<?>... interceptorBinding)
AopProxyWriter
for the purposes of writing Introduction
advise.packageName
- The package nameclassName
- The class nameisInterface
- Is the target of the advise an interfaceimplementInterface
- Whether the interface should be implemented. If false the interfaceTypes
argument should contain at least one entryoriginatingElement
- The originating elementsannotationMetadata
- The annotation metadatainterfaceTypes
- The additional interfaces to implementvisitorContext
- The visitor contextmetadataBuilder
- The configuration metadata builderconfigurationMetadata
- The configuration metadata for the classinterceptorBinding
- The interceptor bindingpublic boolean isEnabled()
isEnabled
in interface io.micronaut.core.util.Toggleable
public boolean isProxyTarget()
protected void startClass(org.objectweb.asm.ClassVisitor classWriter, java.lang.String className, org.objectweb.asm.Type superType)
startClass
in class io.micronaut.inject.writer.AbstractClassFileWriter
@Deprecated public io.micronaut.inject.ast.Element getOriginatingElement()
getOriginatingElement
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
getOriginatingElement
in class io.micronaut.inject.writer.AbstractClassFileWriter
public boolean isSingleton()
isSingleton
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public boolean isInterface()
isInterface
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitBeanDefinitionInterface(java.lang.Class<? extends io.micronaut.inject.BeanDefinition> interfaceType)
visitBeanDefinitionInterface
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public java.lang.String getBeanTypeName()
getBeanTypeName
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public org.objectweb.asm.Type getProvidedType()
getProvidedType
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void setValidated(boolean validated)
setValidated
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void setInterceptedType(java.lang.String typeName)
setInterceptedType
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public java.util.Optional<org.objectweb.asm.Type> getInterceptedType()
getInterceptedType
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public boolean isValidated()
isValidated
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public java.lang.String getBeanDefinitionName()
getBeanDefinitionName
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitBeanDefinitionConstructor(io.micronaut.inject.ast.MethodElement constructor, boolean requiresReflection, io.micronaut.inject.visitor.VisitorContext visitorContext)
visitBeanDefinitionConstructor
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
constructor
- The constructorrequiresReflection
- Whether reflection is requiredvisitorContext
- The visitor contextpublic void visitDefaultConstructor(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.inject.visitor.VisitorContext visitorContext)
visitDefaultConstructor
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
@NonNull public java.lang.String getBeanDefinitionReferenceClassName()
getBeanDefinitionReferenceClassName
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitIntroductionMethod(io.micronaut.inject.ast.TypedElement declaringBean, io.micronaut.inject.ast.MethodElement methodElement)
declaringBean
- The declaring bean of the method.methodElement
- The method elementpublic void visitAroundMethod(io.micronaut.inject.ast.TypedElement beanType, io.micronaut.inject.ast.MethodElement methodElement)
beanType
- The bean type.methodElement
- The method elementpublic void visitBeanDefinitionEnd()
writeTo(File)
visitBeanDefinitionEnd
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void writeTo(java.io.File compilationDir) throws java.io.IOException
writeTo
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
writeTo
in class io.micronaut.inject.writer.AbstractClassFileWriter
compilationDir
- The target compilation directoryjava.io.IOException
- If an error occurs writing the file@NonNull public io.micronaut.inject.ast.ClassElement[] getTypeArguments()
getTypeArguments
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void accept(io.micronaut.inject.writer.ClassWriterOutputVisitor visitor) throws java.io.IOException
accept
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
accept
in class io.micronaut.inject.writer.AbstractClassFileWriter
visitor
- the writer output visitorjava.io.IOException
- If an error occurspublic void visitSuperBeanDefinition(java.lang.String name)
visitSuperBeanDefinition
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitSuperBeanDefinitionFactory(java.lang.String beanName)
visitSuperBeanDefinitionFactory
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitSetterValue(io.micronaut.inject.ast.TypedElement declaringType, io.micronaut.inject.ast.MethodElement methodElement, boolean requiresReflection, boolean isOptional)
visitSetterValue
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitPostConstructMethod(io.micronaut.inject.ast.TypedElement declaringType, io.micronaut.inject.ast.MethodElement methodElement, boolean requiresReflection, io.micronaut.inject.visitor.VisitorContext visitorContext)
visitPostConstructMethod
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitPreDestroyMethod(io.micronaut.inject.ast.TypedElement declaringType, io.micronaut.inject.ast.MethodElement methodElement, boolean requiresReflection, io.micronaut.inject.visitor.VisitorContext visitorContext)
visitPreDestroyMethod
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitMethodInjectionPoint(io.micronaut.inject.ast.TypedElement beanType, io.micronaut.inject.ast.MethodElement methodElement, boolean requiresReflection, io.micronaut.inject.visitor.VisitorContext visitorContext)
visitMethodInjectionPoint
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public int visitExecutableMethod(io.micronaut.inject.ast.TypedElement declaringBean, io.micronaut.inject.ast.MethodElement methodElement, io.micronaut.inject.visitor.VisitorContext visitorContext)
visitExecutableMethod
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitFieldInjectionPoint(io.micronaut.inject.ast.TypedElement declaringType, io.micronaut.inject.ast.FieldElement fieldType, boolean requiresReflection)
visitFieldInjectionPoint
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitFieldValue(io.micronaut.inject.ast.TypedElement declaringType, io.micronaut.inject.ast.FieldElement fieldType, boolean requiresReflection, boolean isOptional)
visitFieldValue
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public java.lang.String getPackageName()
getPackageName
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public java.lang.String getBeanSimpleName()
getBeanSimpleName
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public io.micronaut.core.annotation.AnnotationMetadata getAnnotationMetadata()
getAnnotationMetadata
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitConfigBuilderField(io.micronaut.inject.ast.ClassElement type, java.lang.String field, io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.inject.configuration.ConfigurationMetadataBuilder metadataBuilder, boolean isInterface)
visitConfigBuilderField
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitConfigBuilderMethod(io.micronaut.inject.ast.ClassElement type, java.lang.String methodName, io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, io.micronaut.inject.configuration.ConfigurationMetadataBuilder metadataBuilder, boolean isInterface)
visitConfigBuilderMethod
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitConfigBuilderMethod(java.lang.String prefix, io.micronaut.inject.ast.ClassElement returnType, java.lang.String methodName, io.micronaut.inject.ast.ClassElement paramType, java.util.Map<java.lang.String,io.micronaut.inject.ast.ClassElement> generics, java.lang.String propertyPath)
visitConfigBuilderMethod
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitConfigBuilderDurationMethod(java.lang.String prefix, io.micronaut.inject.ast.ClassElement returnType, java.lang.String methodName, java.lang.String propertyPath)
visitConfigBuilderDurationMethod
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitConfigBuilderEnd()
visitConfigBuilderEnd
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void setRequiresMethodProcessing(boolean shouldPreProcess)
setRequiresMethodProcessing
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public void visitTypeArguments(java.util.Map<java.lang.String,java.util.Map<java.lang.String,io.micronaut.inject.ast.ClassElement>> typeArguments)
visitTypeArguments
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public boolean requiresMethodProcessing()
requiresMethodProcessing
in interface io.micronaut.inject.writer.BeanDefinitionVisitor
public java.lang.String getProxiedTypeName()
getProxiedTypeName
in interface io.micronaut.inject.writer.ProxyingBeanDefinitionVisitor
public java.lang.String getProxiedBeanDefinitionName()
getProxiedBeanDefinitionName
in interface io.micronaut.inject.writer.ProxyingBeanDefinitionVisitor
public void visitInterceptorBinding(io.micronaut.core.annotation.AnnotationValue<?>... interceptorBinding)
interceptorBinding
- the interceptor binding