Class MemberAccessorFactory

java.lang.Object
org.optaplanner.core.impl.domain.common.accessor.MemberAccessorFactory

public final class MemberAccessorFactory extends Object
  • Constructor Details

    • MemberAccessorFactory

      public MemberAccessorFactory()
    • MemberAccessorFactory

      public MemberAccessorFactory(Map<String,MemberAccessor> memberAccessorMap)
      Prefills the member accessor cache.
      Parameters:
      memberAccessorMap - key is the fully qualified member name
  • Method Details

    • buildMemberAccessor

      public static MemberAccessor buildMemberAccessor(Member member, MemberAccessorFactory.MemberAccessorType memberAccessorType, Class<? extends Annotation> annotationClass, DomainAccessType domainAccessType, ClassLoader classLoader)
      Creates a new member accessor based on the given parameters.
      Parameters:
      member - never null, method or field to access
      memberAccessorType -
      annotationClass - the annotation the member was annotated with (used for error reporting)
      domainAccessType -
      classLoader - null or GizmoClassLoader if domainAccessType is DomainAccessType.GIZMO.
      Returns:
      never null, new instance of the member accessor
    • buildAndCacheMemberAccessor

      public MemberAccessor buildAndCacheMemberAccessor(Member member, MemberAccessorFactory.MemberAccessorType memberAccessorType, Class<? extends Annotation> annotationClass, DomainAccessType domainAccessType)
      Creates a new member accessor based on the given parameters. Caches the result.
      Parameters:
      member - never null, method or field to access
      memberAccessorType -
      annotationClass - the annotation the member was annotated with (used for error reporting)
      domainAccessType -
      Returns:
      never null, new MemberAccessor instance unless already found in memberAccessorMap
    • getGizmoClassLoader

      public GizmoClassLoader getGizmoClassLoader()