Class GizmoMemberAccessorEntityEnhancer
- java.lang.Object
-
- org.optaplanner.quarkus.deployment.GizmoMemberAccessorEntityEnhancer
-
public class GizmoMemberAccessorEntityEnhancer extends Object
-
-
Constructor Summary
Constructors Constructor Description GizmoMemberAccessorEntityEnhancer()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidaddVirtualFieldGetter(Class<?> classInfo, Field fieldInfo, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)static voidaddVirtualFieldGetter(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 StringgenerateFieldAccessor(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 StringgenerateGizmoBeanFactory(io.quarkus.gizmo.ClassOutput classOutput, Set<Class<?>> beanClasses, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)static StringgenerateKieRuntimeBuilder(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 StringgenerateMethodAccessor(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 StringgenerateSolutionCloner(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 StringgetVirtualGetterName(boolean isField, String name)static StringgetVirtualSetterName(boolean isField, String name)static voidmakeConstructorAccessible(Class<?> clazz, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
-
-
-
Method Detail
-
makeConstructorAccessible
public static void makeConstructorAccessible(Class<?> clazz, 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
-
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)
-
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 fieldindexView- The index view (needed to get default values of annotations)classOutput- Where to output the bytecodeclassInfo- The declaring class for the fieldfieldInfo- The field to generate the MemberAccessor fortransformers- BuildProducer of BytecodeTransformers- Throws:
ClassNotFoundExceptionNoSuchFieldException
-
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 fieldindexView- The index view (needed to get default values of annotations)classOutput- Where to output the bytecodeclassInfo- The declaring class for the fieldmethodInfo- The method to generate the MemberAccessor fortransformers- BuildProducer of BytecodeTransformers- Throws:
ClassNotFoundExceptionNoSuchMethodException
-
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)
-
-