Package org.optaplanner.core.impl.domain.solution.cloner.gizmo

## Class GizmoSolutionClonerImplementor

- java.lang.Object
- - org.optaplanner.core.impl.domain.solution.cloner.gizmo.GizmoSolutionClonerImplementor

-     public class GizmoSolutionClonerImplementor
      extends Object

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <T> SolutionCloner<T>` | `createClonerFor​(SolutionDescriptor<T> solutionDescriptor)` |
    `static void` | `defineClonerFor​(io.quarkus.gizmo.ClassCreator classCreator, SolutionDescriptor<?> solutionDescriptor, List<Class<?>> solutionClassList, Map<Class<?>,​GizmoSolutionOrEntityDescriptor> memoizedSolutionOrEntityDescriptorMap, Set<Class<?>> deepClonedClassSet)` | Generates the constructor and implementations of SolutionCloner methods for the given SolutionDescriptor using the given ClassCreator
    `static Comparator<Class<?>>` | `getInstanceOfComparator​(Set<Class<?>> deepClonedClassSet)` | Return a comparator that sorts classes into instanceof check order.

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

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

- - ### Method Detail

    - #### getInstanceOfComparator

          public static Comparator<Class<?>> getInstanceOfComparator​(Set<Class<?>> deepClonedClassSet)

      Return a comparator that sorts classes into instanceof check order. In particular, if x is a subclass of y, then x will appear earlier than y in the list.
      Parameters:
        `deepClonedClassSet` - The set of classes to generate a comparator for
      Returns:
        A comparator that sorts classes from deepClonedClassSet such that x < y if x is assignable from y.

    - #### defineClonerFor

          public static void defineClonerFor​(io.quarkus.gizmo.ClassCreator classCreator,
                                             SolutionDescriptor<?> solutionDescriptor,
                                             List<Class<?>> solutionClassList,
                                             Map<Class<?>,​GizmoSolutionOrEntityDescriptor> memoizedSolutionOrEntityDescriptorMap,
                                             Set<Class<?>> deepClonedClassSet)

      Generates the constructor and implementations of SolutionCloner methods for the given SolutionDescriptor using the given ClassCreator
      Parameters:
        `classCreator` - ClassCreator to write output to
        `solutionDescriptor` - SolutionDescriptor to generate MemberAccessor methods implementation for

    - #### createClonerFor

          public static <T> SolutionCloner<T> createClonerFor​(SolutionDescriptor<T> solutionDescriptor)