Class GizmoMemberAccessorEntityEnhancer


  • public class GizmoMemberAccessorEntityEnhancer
    extends Object
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void addVirtualFieldGetter​(Class<?> classInfo, Field fieldInfo, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)  
      static void addVirtualFieldGetter​(org.jboss.jandex.ClassInfo classInfo, org.jboss.jandex.FieldInfo fieldInfo, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)  
      static Optional<io.quarkus.gizmo.MethodDescriptor> addVirtualMethodGetter​(org.jboss.jandex.ClassInfo classInfo, org.jboss.jandex.MethodInfo methodInfo, String name, Optional<io.quarkus.gizmo.MethodDescriptor> setterDescriptor, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)  
      static String generateFieldAccessor​(org.jboss.jandex.AnnotationInstance annotationInstance, org.jboss.jandex.IndexView indexView, io.quarkus.gizmo.ClassOutput classOutput, org.jboss.jandex.ClassInfo classInfo, org.jboss.jandex.FieldInfo fieldInfo, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
      Generates the bytecode for the member accessor for the specified field.
      static String generateGizmoBeanFactory​(io.quarkus.gizmo.ClassOutput classOutput, Set<Class<?>> beanClasses, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)  
      static String generateKieRuntimeBuilder​(io.quarkus.gizmo.ClassOutput classOutput, org.optaplanner.core.config.solver.SolverConfig config, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.UnremovableBeanBuildItem> unremovableBeans, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)  
      static String generateMethodAccessor​(org.jboss.jandex.AnnotationInstance annotationInstance, org.jboss.jandex.IndexView indexView, io.quarkus.gizmo.ClassOutput classOutput, org.jboss.jandex.ClassInfo classInfo, org.jboss.jandex.MethodInfo methodInfo, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
      Generates the bytecode for the member accessor for the specified method.
      static String generateSolutionCloner​(org.optaplanner.core.impl.domain.solution.descriptor.SolutionDescriptor solutionDescriptor, io.quarkus.gizmo.ClassOutput classOutput, org.jboss.jandex.IndexView indexView, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)  
      static io.quarkus.runtime.RuntimeValue<org.optaplanner.quarkus.gizmo.OptaPlannerDroolsInitializer> getDroolsInitializer​(io.quarkus.deployment.recording.RecorderContext recorderContext)  
      static Map<String,​io.quarkus.runtime.RuntimeValue<org.optaplanner.core.impl.domain.common.accessor.MemberAccessor>> getGeneratedGizmoMemberAccessorMap​(io.quarkus.deployment.recording.RecorderContext recorderContext, Set<String> generatedMemberAccessorsClassNames)  
      static Map<String,​io.quarkus.runtime.RuntimeValue<org.optaplanner.core.api.domain.solution.cloner.SolutionCloner>> getGeneratedSolutionClonerMap​(io.quarkus.deployment.recording.RecorderContext recorderContext, Set<String> generatedSolutionClonersClassNames)  
      static String getVirtualGetterName​(boolean isField, String name)  
      static String getVirtualSetterName​(boolean isField, String name)  
      static void makeConstructorAccessible​(Class<?> clazz, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)  
      static void makeFieldNonFinal​(Field finalField, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)  
    • Constructor Detail

      • GizmoMemberAccessorEntityEnhancer

        public GizmoMemberAccessorEntityEnhancer()
    • Method Detail

      • makeConstructorAccessible

        public static void makeConstructorAccessible​(Class<?> clazz,
                                                     io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
      • makeFieldNonFinal

        public static void makeFieldNonFinal​(Field finalField,
                                             io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
      • addVirtualFieldGetter

        public static void addVirtualFieldGetter​(Class<?> classInfo,
                                                 Field fieldInfo,
                                                 io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
      • addVirtualMethodGetter

        public static Optional<io.quarkus.gizmo.MethodDescriptor> addVirtualMethodGetter​(org.jboss.jandex.ClassInfo classInfo,
                                                                                         org.jboss.jandex.MethodInfo methodInfo,
                                                                                         String name,
                                                                                         Optional<io.quarkus.gizmo.MethodDescriptor> setterDescriptor,
                                                                                         io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
      • getVirtualGetterName

        public static String getVirtualGetterName​(boolean isField,
                                                  String name)
      • getVirtualSetterName

        public static String getVirtualSetterName​(boolean isField,
                                                  String name)
      • generateFieldAccessor

        public static String generateFieldAccessor​(org.jboss.jandex.AnnotationInstance annotationInstance,
                                                   org.jboss.jandex.IndexView indexView,
                                                   io.quarkus.gizmo.ClassOutput classOutput,
                                                   org.jboss.jandex.ClassInfo classInfo,
                                                   org.jboss.jandex.FieldInfo fieldInfo,
                                                   io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
                                            throws ClassNotFoundException,
                                                   NoSuchFieldException
        Generates the bytecode for the member accessor for the specified field. Additionally enhances the class that declares the field with public simple getters/setters methods for the field if the field is private.
        Parameters:
        annotationInstance - The annotations on the field
        indexView - The index view (needed to get default values of annotations)
        classOutput - Where to output the bytecode
        classInfo - The declaring class for the field
        fieldInfo - The field to generate the MemberAccessor for
        transformers - BuildProducer of BytecodeTransformers
        Throws:
        ClassNotFoundException
        NoSuchFieldException
      • generateMethodAccessor

        public static String generateMethodAccessor​(org.jboss.jandex.AnnotationInstance annotationInstance,
                                                    org.jboss.jandex.IndexView indexView,
                                                    io.quarkus.gizmo.ClassOutput classOutput,
                                                    org.jboss.jandex.ClassInfo classInfo,
                                                    org.jboss.jandex.MethodInfo methodInfo,
                                                    io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
                                             throws ClassNotFoundException,
                                                    NoSuchMethodException
        Generates the bytecode for the member accessor for the specified method. Additionally enhances the class that declares the method with public simple read/(optionally write if getter method and setter present) methods for the method if the method is private.
        Parameters:
        annotationInstance - The annotations on the field
        indexView - The index view (needed to get default values of annotations)
        classOutput - Where to output the bytecode
        classInfo - The declaring class for the field
        methodInfo - The method to generate the MemberAccessor for
        transformers - BuildProducer of BytecodeTransformers
        Throws:
        ClassNotFoundException
        NoSuchMethodException
      • generateSolutionCloner

        public static String generateSolutionCloner​(org.optaplanner.core.impl.domain.solution.descriptor.SolutionDescriptor solutionDescriptor,
                                                    io.quarkus.gizmo.ClassOutput classOutput,
                                                    org.jboss.jandex.IndexView indexView,
                                                    io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
      • getGeneratedGizmoMemberAccessorMap

        public static Map<String,​io.quarkus.runtime.RuntimeValue<org.optaplanner.core.impl.domain.common.accessor.MemberAccessor>> getGeneratedGizmoMemberAccessorMap​(io.quarkus.deployment.recording.RecorderContext recorderContext,
                                                                                                                                                                            Set<String> generatedMemberAccessorsClassNames)
      • getGeneratedSolutionClonerMap

        public static Map<String,​io.quarkus.runtime.RuntimeValue<org.optaplanner.core.api.domain.solution.cloner.SolutionCloner>> getGeneratedSolutionClonerMap​(io.quarkus.deployment.recording.RecorderContext recorderContext,
                                                                                                                                                                      Set<String> generatedSolutionClonersClassNames)
      • generateGizmoBeanFactory

        public static String generateGizmoBeanFactory​(io.quarkus.gizmo.ClassOutput classOutput,
                                                      Set<Class<?>> beanClasses,
                                                      io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
      • generateKieRuntimeBuilder

        public static String generateKieRuntimeBuilder​(io.quarkus.gizmo.ClassOutput classOutput,
                                                       org.optaplanner.core.config.solver.SolverConfig config,
                                                       io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.UnremovableBeanBuildItem> unremovableBeans,
                                                       io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
      • getDroolsInitializer

        public static io.quarkus.runtime.RuntimeValue<org.optaplanner.quarkus.gizmo.OptaPlannerDroolsInitializer> getDroolsInitializer​(io.quarkus.deployment.recording.RecorderContext recorderContext)