Class GizmoMemberAccessorImplementor

java.lang.Object
org.optaplanner.core.impl.domain.common.accessor.gizmo.GizmoMemberAccessorImplementor

public class GizmoMemberAccessorImplementor extends Object
Generates the bytecode for the MemberAccessor of a particular Member
  • Method Details

    • defineAccessorFor

      public static void defineAccessorFor(String className, io.quarkus.gizmo.ClassOutput classOutput, GizmoMemberInfo memberInfo)
      Generates the constructor and implementations of AbstractGizmoMemberAccessor methods for the given Member.
      Parameters:
      className - never null
      classOutput - never null, defines how to write the bytecode
      memberInfo - never null, member to generate MemberAccessor methods implementation for
    • createAccessorFor

      public static MemberAccessor createAccessorFor(Member member, Class<? extends Annotation> annotationClass)
      Creates a MemberAccessor for a given member, generating the MemberAccessor bytecode if required
      Parameters:
      member - The member to generate a MemberAccessor for
      annotationClass - The annotation it was annotated with (used for error reporting)
      Returns:
      A new MemberAccessor that uses Gizmo generated bytecode. Will generate the bytecode the first type it is called for a member, unless a classloader has been set, in which case no Gizmo code will be generated.