Package org.optaplanner.core.impl.domain.common.accessor.gizmo

## 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 Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static MemberAccessor` | `createAccessorFor​(Member member, Class<? extends Annotation> annotationClass)` | Creates a MemberAccessor for a given member, generating the MemberAccessor bytecode if required
    `static void` | `defineAccessorFor​(io.quarkus.gizmo.ClassCreator classCreator, GizmoMemberDescriptor member, Class<? extends Annotation> annotationClass)` | Generates the constructor and implementations of MemberAccessor methods for the given MemberDescriptor using the given ClassCreator

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### defineAccessorFor

          public static void defineAccessorFor​(io.quarkus.gizmo.ClassCreator classCreator,
                                               GizmoMemberDescriptor member,
                                               Class<? extends Annotation> annotationClass)

      Generates the constructor and implementations of MemberAccessor methods for the given MemberDescriptor using the given ClassCreator
      Parameters:
        `classCreator` - ClassCreator to write output to
        `member` - Member to generate MemberAccessor methods implementation for
        `annotationClass` - The annotation it was annotated with (used for error reporting)

    - #### 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.