Class MemberAccessorFactory
- java.lang.Object
-
- ai.timefold.solver.core.impl.domain.common.accessor.MemberAccessorFactory
-
public final class MemberAccessorFactory extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMemberAccessorFactory.MemberAccessorType
-
Constructor Summary
Constructors Constructor Description MemberAccessorFactory()MemberAccessorFactory(Map<String,MemberAccessor> memberAccessorMap)Prefills the member accessor cache.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description MemberAccessorbuildAndCacheMemberAccessor(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, Class<? extends Annotation> annotationClass, DomainAccessType domainAccessType, ClassLoader classLoader)Creates a new member accessor based on the given parameters.GizmoClassLoadergetGizmoClassLoader()
-
-
-
Constructor Detail
-
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 Detail
-
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-annotationClass- the annotation the member was annotated with (used for error reporting)domainAccessType-classLoader- 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-annotationClass- the annotation the member was annotated with (used for error reporting)domainAccessType-- Returns:
- never null, new
MemberAccessorinstance unless already found in memberAccessorMap
-
getGizmoClassLoader
public GizmoClassLoader getGizmoClassLoader()
-
-