Class MemberAccessorFactory
java.lang.Object
ai.timefold.solver.core.impl.domain.common.accessor.MemberAccessorFactory
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionMemberAccessorFactory(Map<String, MemberAccessor> memberAccessorMap) Prefills the member accessor cache. -
Method Summary
Modifier and TypeMethodDescriptionbuildAndCacheMemberAccessor(Member member, MemberAccessorFactory.MemberAccessorType memberAccessorType, DomainAccessType domainAccessType) Creates a new member accessor based on the given parameters.buildAndCacheMemberAccessor(Member member, MemberAccessorFactory.MemberAccessorType memberAccessorType, Class<? extends Annotation> annotationClass, DomainAccessType domainAccessType) Creates a new member accessor based on the given parameters.static MemberAccessorbuildMemberAccessor(Member member, MemberAccessorFactory.MemberAccessorType memberAccessorType, DomainAccessType domainAccessType, ClassLoader classLoader) Creates a new member accessor based on the given parameters.static MemberAccessorbuildMemberAccessor(Member member, MemberAccessorFactory.MemberAccessorType memberAccessorType, Class<? extends Annotation> annotationClass, DomainAccessType domainAccessType, ClassLoader classLoader) Creates a new member accessor based on the given parameters.
-
Constructor Details
-
MemberAccessorFactory
public MemberAccessorFactory() -
MemberAccessorFactory
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, DomainAccessType domainAccessType, ClassLoader classLoader) Creates a new member accessor based on the given parameters.- Parameters:
member- never null, method or field to accessmemberAccessorType- never nulldomainAccessType- never nullclassLoader- null orGizmoClassLoaderif domainAccessType isDomainAccessType.GIZMO.- Returns:
- never null, new instance of the member accessor
-
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 accessmemberAccessorType- never nullannotationClass- the annotation the member was annotated with (used for error reporting)domainAccessType- never nullclassLoader- null orGizmoClassLoaderif domainAccessType isDomainAccessType.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 accessmemberAccessorType- never nullannotationClass- the annotation the member was annotated with (used for error reporting)domainAccessType- never null- Returns:
- never null, new
MemberAccessorinstance unless already found in memberAccessorMap
-
buildAndCacheMemberAccessor
public MemberAccessor buildAndCacheMemberAccessor(Member member, MemberAccessorFactory.MemberAccessorType memberAccessorType, DomainAccessType domainAccessType) Creates a new member accessor based on the given parameters. Caches the result.- Parameters:
member- never null, method or field to accessmemberAccessorType- never nulldomainAccessType- never null- Returns:
- never null, new
MemberAccessorinstance unless already found in memberAccessorMap
-
getGizmoClassLoader
-