Class GizmoMemberAccessorEntityEnhancer
java.lang.Object
org.optaplanner.quarkus.deployment.GizmoMemberAccessorEntityEnhancer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic 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, 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 StringgenerateMethodAccessor(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 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 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) static voidmakeFieldNonFinal(Field finalField, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.BytecodeTransformerBuildItem> transformers)
-
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 -
addVirtualFieldGetter
-
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
-
getVirtualSetterName
-
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 fieldclassOutput- 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, 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 fieldclassOutput- 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
-
getGeneratedSolutionClonerMap
-
generateGizmoBeanFactory
-