Class BeanGenerator

java.lang.Object
io.quarkus.arc.processor.BeanGenerator
Direct Known Subclasses:
DecoratorGenerator, InterceptorGenerator

public class BeanGenerator extends Object
Author:
Martin Kouba
  • Field Details

    • FIELD_NAME_DECLARING_PROVIDER_SUPPLIER

      protected static final String FIELD_NAME_DECLARING_PROVIDER_SUPPLIER
      See Also:
    • FIELD_NAME_BEAN_TYPES

      protected static final String FIELD_NAME_BEAN_TYPES
      See Also:
    • FIELD_NAME_QUALIFIERS

      protected static final String FIELD_NAME_QUALIFIERS
      See Also:
    • FIELD_NAME_STEREOTYPES

      protected static final String FIELD_NAME_STEREOTYPES
      See Also:
    • FIELD_NAME_PROXY

      protected static final String FIELD_NAME_PROXY
      See Also:
    • annotationLiterals

      protected final AnnotationLiteralProcessor annotationLiterals
    • applicationClassPredicate

      protected final Predicate<org.jboss.jandex.DotName> applicationClassPredicate
    • privateMembers

      protected final io.quarkus.arc.processor.BeanProcessor.PrivateMembersCollector privateMembers
    • existingClasses

      protected final Set<String> existingClasses
    • beanToGeneratedName

      protected final Map<BeanInfo,String> beanToGeneratedName
    • beanToGeneratedBaseName

      protected final Map<BeanInfo,String> beanToGeneratedBaseName
    • injectionPointAnnotationsPredicate

      protected final Predicate<org.jboss.jandex.DotName> injectionPointAnnotationsPredicate
    • suppressConditionGenerators

      protected final List<Function<BeanInfo,Consumer<io.quarkus.gizmo2.creator.BlockCreator>>> suppressConditionGenerators
    • generateSources

      protected final boolean generateSources
    • reflectionRegistration

      protected final ReflectionRegistration reflectionRegistration
  • Constructor Details

  • Method Details

    • generateProviderFields

      protected void generateProviderFields(BeanInfo bean, io.quarkus.gizmo2.creator.ClassCreator cc, Map<InjectionPointInfo,io.quarkus.gizmo2.desc.FieldDesc> injectionPointToProvider, Map<InterceptorInfo,io.quarkus.gizmo2.desc.FieldDesc> interceptorToProvider, Map<DecoratorInfo,io.quarkus.gizmo2.desc.FieldDesc> decoratorToProvider)
    • generateConstructor

      protected void generateConstructor(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean, io.quarkus.gizmo2.desc.FieldDesc beanTypesField, io.quarkus.gizmo2.desc.FieldDesc qualifiersField, io.quarkus.gizmo2.desc.FieldDesc stereotypesField, io.quarkus.gizmo2.desc.FieldDesc declaringProviderSupplierField, Map<InjectionPointInfo,io.quarkus.gizmo2.desc.FieldDesc> injectionPointToProviderField, Map<InterceptorInfo,io.quarkus.gizmo2.desc.FieldDesc> interceptorToProviderField, Map<DecoratorInfo,io.quarkus.gizmo2.desc.FieldDesc> decoratorToProviderSupplierField, Consumer<io.quarkus.gizmo2.creator.BlockCreator> additionalCode)
    • generateCreate

      protected void generateCreate(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean, io.quarkus.arc.processor.BeanGenerator.ProviderType providerType, String baseName, Map<InjectionPointInfo,io.quarkus.gizmo2.desc.FieldDesc> injectionPointToProviderSupplierField, Map<InterceptorInfo,io.quarkus.gizmo2.desc.FieldDesc> interceptorToProviderSupplierField, Map<DecoratorInfo,io.quarkus.gizmo2.desc.FieldDesc> decoratorToProviderSupplierField, String targetPackage, boolean isApplicationClass)
    • generateDestroy

      protected void generateDestroy(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean, Map<InjectionPointInfo,io.quarkus.gizmo2.desc.FieldDesc> injectionPointToProviderField, boolean isApplicationClass, String baseName, String targetPackage)
    • generateSupplierGet

      protected void generateSupplierGet(io.quarkus.gizmo2.creator.ClassCreator cc)
    • generateInjectableReferenceProviderGet

      protected void generateInjectableReferenceProviderGet(BeanInfo bean, io.quarkus.gizmo2.creator.ClassCreator cc, String baseName)
    • generateGetIdentifier

      protected void generateGetIdentifier(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
      See Also:
      • InjectableBean.getIdentifier()
    • generateGetTypes

      protected void generateGetTypes(io.quarkus.gizmo2.desc.FieldDesc typesField, io.quarkus.gizmo2.creator.ClassCreator cc)
      See Also:
      • InjectableBean.getTypes()
    • generateGetScope

      protected void generateGetScope(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
      See Also:
      • InjectableBean.getScope()
    • generateGetQualifiers

      protected void generateGetQualifiers(io.quarkus.gizmo2.creator.ClassCreator cc, io.quarkus.gizmo2.desc.FieldDesc qualifiersField)
      See Also:
      • InjectableBean.getQualifiers()
    • generateIsAlternative

      protected void generateIsAlternative(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
      See Also:
      • InjectableBean.isAlternative()
    • generateGetPriority

      protected void generateGetPriority(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
      See Also:
      • InjectableBean.getPriority()
    • generateGetDeclaringBean

      protected void generateGetDeclaringBean(io.quarkus.gizmo2.creator.ClassCreator cc, io.quarkus.gizmo2.desc.FieldDesc declaringProviderSupplierField)
      See Also:
      • InjectableBean.getDeclaringBean()
    • generateGetStereotypes

      protected void generateGetStereotypes(io.quarkus.gizmo2.creator.ClassCreator cc, io.quarkus.gizmo2.desc.FieldDesc stereotypesField)
      See Also:
      • InjectableBean.getStereotypes()
    • generateGetBeanClass

      protected void generateGetBeanClass(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
      See Also:
      • Bean.getBeanClass()
    • generateGetImplementationClass

      protected void generateGetImplementationClass(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
      See Also:
      • InjectableBean.getImplementationClass()
    • generateGetName

      protected void generateGetName(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
      See Also:
      • InjectableBean.getName()
    • generateIsDefaultBean

      protected void generateIsDefaultBean(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
      See Also:
      • InjectableBean.isDefaultBean()
    • generateGetKind

      protected void generateGetKind(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
      See Also:
      • InjectableBean.getKind()
    • generateIsSuppressed

      protected void generateIsSuppressed(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
      See Also:
      • InjectableBean.isSuppressed()
    • generateGetInjectionPoints

      protected void generateGetInjectionPoints(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
      See Also:
      • InjectableBean.getInjectionPoints()
    • generateEquals

      protected void generateEquals(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
    • generateHashCode

      protected void generateHashCode(io.quarkus.gizmo2.creator.ClassCreator cc, BeanInfo bean)
    • generateToString

      protected void generateToString(io.quarkus.gizmo2.creator.ClassCreator cc)
    • getJavaMember

      public static io.quarkus.gizmo2.Var getJavaMember(io.quarkus.gizmo2.creator.BlockCreator bc, InjectionPointInfo injectionPoint, ReflectionRegistration reflectionRegistration)
    • collectInjectionPointAnnotations

      public static io.quarkus.gizmo2.Var collectInjectionPointAnnotations(BeanDeployment beanDeployment, io.quarkus.gizmo2.creator.BlockCreator bc, InjectionPointInfo injectionPoint, AnnotationLiteralProcessor annotationLiterals, Predicate<org.jboss.jandex.DotName> injectionPointAnnotationsPredicate)
    • collectInjectionPointQualifiers

      public static io.quarkus.gizmo2.Var collectInjectionPointQualifiers(BeanDeployment beanDeployment, io.quarkus.gizmo2.creator.BlockCreator bc, InjectionPointInfo injectionPoint, AnnotationLiteralProcessor annotationLiterals)
    • collectQualifiers

      public static io.quarkus.gizmo2.Var collectQualifiers(BeanDeployment beanDeployment, io.quarkus.gizmo2.creator.BlockCreator bc, AnnotationLiteralProcessor annotationLiterals, Set<org.jboss.jandex.AnnotationInstance> qualifiers)
    • getBeanBaseName

      protected final String getBeanBaseName(String beanClassName)
      Returns a simple name of the given beanClassName, stripped of the BEAN_SUFFIX.
      Returns:
      a simple name of the given beanClassName, stripped of the BEAN_SUFFIX
    • isReflectionFallbackNeeded

      protected final boolean isReflectionFallbackNeeded(org.jboss.jandex.MethodInfo method, String targetPackage)
    • isReflectionFallbackNeeded

      protected final boolean isReflectionFallbackNeeded(org.jboss.jandex.FieldInfo field, String targetPackage, BeanInfo bean)