Class GizmoMemberAccessorEntityEnhancer

java.lang.Object
org.optaplanner.quarkus.deployment.GizmoMemberAccessorEntityEnhancer

public class GizmoMemberAccessorEntityEnhancer extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    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, 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
    generateMethodAccessor(org.jboss.jandex.AnnotationInstance annotationInstance, 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 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)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • GizmoMemberAccessorEntityEnhancer

      public GizmoMemberAccessorEntityEnhancer()
  • Method Details

    • 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(org.jboss.jandex.ClassInfo classInfo, org.jboss.jandex.FieldInfo fieldInfo, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers) throws ClassNotFoundException, NoSuchFieldException
      Throws:
      ClassNotFoundException
      NoSuchFieldException
    • 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, 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
      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, 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
      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)