Class AbstractCriteriaMethodMatch
java.lang.Object
io.micronaut.data.processor.visitors.finders.AbstractCriteriaMethodMatch
- All Implemented Interfaces:
MethodMatcher.MethodMatch
- Direct Known Subclasses:
DeleteCriteriaMethodMatch,QueryCriteriaMethodMatch,UpdateCriteriaMethodMatch
public abstract class AbstractCriteriaMethodMatch
extends Object
implements MethodMatcher.MethodMatch
Abstract criteria matcher.
- Since:
- 3.2
- Author:
- Denis Stepanov
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected <T> StringapplyForUpdate(String querySequence, PersistentEntityCriteriaQuery<T> query) Matches for update definitions in the query sequence.protected final voidapplyJoinSpecs(PersistentEntityRoot<?> root, List<io.micronaut.core.annotation.AnnotationValue<Join>> joinSpecs) protected <T> voidapplyPredicates(String querySequence, io.micronaut.inject.ast.ParameterElement[] parameters, PersistentEntityRoot<T> root, PersistentEntityCriteriaDelete<T> query, SourcePersistentEntityCriteriaBuilder cb) Apply predicates.protected <T> voidapplyPredicates(String querySequence, io.micronaut.inject.ast.ParameterElement[] parameters, PersistentEntityRoot<T> root, PersistentEntityCriteriaQuery<T> query, SourcePersistentEntityCriteriaBuilder cb) Apply predicates.protected <T> voidapplyPredicates(String querySequence, io.micronaut.inject.ast.ParameterElement[] parameters, PersistentEntityRoot<T> root, PersistentEntityCriteriaUpdate<T> query, SourcePersistentEntityCriteriaBuilder cb) Apply predicates.protected <T> voidapplyPredicates(List<io.micronaut.inject.ast.ParameterElement> parameters, PersistentEntityRoot<T> root, PersistentEntityCriteriaDelete<T> query, SourcePersistentEntityCriteriaBuilder cb) Apply predicates based on parameters.protected <T> voidapplyPredicates(List<io.micronaut.inject.ast.ParameterElement> parameters, PersistentEntityRoot<T> root, PersistentEntityCriteriaQuery<T> query, SourcePersistentEntityCriteriaBuilder cb) Apply predicates based on parameters.protected <T> voidapplyPredicates(List<io.micronaut.inject.ast.ParameterElement> parameters, PersistentEntityRoot<T> root, PersistentEntityCriteriaUpdate<T> query, SourcePersistentEntityCriteriaBuilder cb) Apply predicates based on parameters.protected abstract MethodMatchInfobuild(MethodMatchContext matchContext) final MethodMatchInfobuildMatchInfo(MethodMatchContext matchContext) Match info builder.protected final <T> PersistentPropertyPath<Object>findProperty(PersistentEntityRoot<T> root, String propertyName) protected io.micronaut.inject.ast.ParameterElementprotected io.micronaut.inject.ast.ParameterElementprotected final io.micronaut.inject.ast.ClassElementgetInterceptorElement(MethodMatchContext matchContext, Class<? extends DataInterceptor> interceptorType) protected abstract DataMethod.OperationTypeprotected final <T> jakarta.persistence.criteria.Expression<?>getProperty(PersistentEntityRoot<T> root, String propertyName) protected final booleanhasNoWhereAndJoinDeclaration(MethodMatchContext matchContext) joinSpecsAtMatchContext(MethodMatchContext matchContext, boolean isQuery) protected Map.Entry<io.micronaut.inject.ast.ClassElement,Class<? extends DataInterceptor>> resolveReturnTypeAndInterceptor(MethodMatchContext matchContext) protected boolean
-
Field Details
-
matcher
-
-
Constructor Details
-
AbstractCriteriaMethodMatch
-
-
Method Details
-
getEntityParameter
@Nullable protected io.micronaut.inject.ast.ParameterElement getEntityParameter()- Returns:
- The entity parameter
-
getEntitiesParameter
@Nullable protected io.micronaut.inject.ast.ParameterElement getEntitiesParameter()- Returns:
- The entities parameter
-
getOperationType
- Returns:
- The operation type
-
supportedByImplicitQueries
protected boolean supportedByImplicitQueries()- Returns:
- true of the operation is supported by implicit queries
-
buildMatchInfo
Description copied from interface:MethodMatcher.MethodMatchMatch info builder.- Specified by:
buildMatchInfoin interfaceMethodMatcher.MethodMatch- Parameters:
matchContext- The match context- Returns:
- The match info
-
build
-
getInterceptorElement
protected final io.micronaut.inject.ast.ClassElement getInterceptorElement(MethodMatchContext matchContext, Class<? extends DataInterceptor> interceptorType) - Parameters:
matchContext- The match contextinterceptorType- The interceptor type- Returns:
- The resolved class element
-
resolveReturnTypeAndInterceptor
protected Map.Entry<io.micronaut.inject.ast.ClassElement,Class<? extends DataInterceptor>> resolveReturnTypeAndInterceptor(MethodMatchContext matchContext) - Parameters:
matchContext- The match context- Returns:
- resolved return type and interceptor
-
applyPredicates
protected <T> void applyPredicates(String querySequence, io.micronaut.inject.ast.ParameterElement[] parameters, PersistentEntityRoot<T> root, PersistentEntityCriteriaQuery<T> query, SourcePersistentEntityCriteriaBuilder cb) Apply predicates.- Type Parameters:
T- The entity type- Parameters:
querySequence- The query sequenceparameters- The parametersroot- The rootquery- The querycb- The criteria builder
-
applyPredicates
protected <T> void applyPredicates(String querySequence, io.micronaut.inject.ast.ParameterElement[] parameters, PersistentEntityRoot<T> root, PersistentEntityCriteriaDelete<T> query, SourcePersistentEntityCriteriaBuilder cb) Apply predicates.- Type Parameters:
T- The entity type- Parameters:
querySequence- The query sequenceparameters- The parametersroot- The rootquery- The querycb- The criteria builder
-
applyPredicates
protected <T> void applyPredicates(String querySequence, io.micronaut.inject.ast.ParameterElement[] parameters, PersistentEntityRoot<T> root, PersistentEntityCriteriaUpdate<T> query, SourcePersistentEntityCriteriaBuilder cb) Apply predicates.- Type Parameters:
T- The entity type- Parameters:
querySequence- The query sequenceparameters- The parametersroot- The rootquery- The querycb- The criteria builder
-
applyPredicates
protected <T> void applyPredicates(List<io.micronaut.inject.ast.ParameterElement> parameters, PersistentEntityRoot<T> root, PersistentEntityCriteriaQuery<T> query, SourcePersistentEntityCriteriaBuilder cb) Apply predicates based on parameters.- Type Parameters:
T- The entity type- Parameters:
parameters- The parametersroot- The rootquery- The querycb- The criteria builder
-
applyPredicates
protected <T> void applyPredicates(List<io.micronaut.inject.ast.ParameterElement> parameters, PersistentEntityRoot<T> root, PersistentEntityCriteriaUpdate<T> query, SourcePersistentEntityCriteriaBuilder cb) Apply predicates based on parameters.- Type Parameters:
T- The entity type- Parameters:
parameters- The parametersroot- The rootquery- The querycb- The criteria builder
-
applyPredicates
protected <T> void applyPredicates(List<io.micronaut.inject.ast.ParameterElement> parameters, PersistentEntityRoot<T> root, PersistentEntityCriteriaDelete<T> query, SourcePersistentEntityCriteriaBuilder cb) Apply predicates based on parameters.- Type Parameters:
T- The entity type- Parameters:
parameters- The parametersroot- The rootquery- The querycb- The criteria builder
-
applyForUpdate
Matches for update definitions in the query sequence.- Type Parameters:
T- The entity type- Parameters:
querySequence- The query sequencequery- The query- Returns:
- The new query sequence without the for update definitions
-
getProperty
@NonNull protected final <T> jakarta.persistence.criteria.Expression<?> getProperty(PersistentEntityRoot<T> root, String propertyName) -
findProperty
@Nullable protected final <T> PersistentPropertyPath<Object> findProperty(PersistentEntityRoot<T> root, String propertyName) -
applyJoinSpecs
protected final void applyJoinSpecs(PersistentEntityRoot<?> root, @NonNull List<io.micronaut.core.annotation.AnnotationValue<Join>> joinSpecs) -
joinSpecsAtMatchContext
@NonNull protected final List<io.micronaut.core.annotation.AnnotationValue<Join>> joinSpecsAtMatchContext(@NonNull MethodMatchContext matchContext, boolean isQuery) - Parameters:
matchContext- The match contextisQuery- true if is a query criteria- Returns:
- a List of annotations values for
Joinannotation.
-
hasNoWhereAndJoinDeclaration
-