Class AbstractSpecificationInterceptor<T,R>
java.lang.Object
io.micronaut.data.runtime.intercept.AbstractQueryInterceptor<T,R>
io.micronaut.data.runtime.intercept.criteria.AbstractSpecificationInterceptor<T,R>
- Type Parameters:
T- The declaring typeR- The return type
- All Implemented Interfaces:
io.micronaut.data.intercept.DataInterceptor<T,R>
- Direct Known Subclasses:
AbstractAsyncSpecificationInterceptor,AbstractReactiveSpecificationInterceptor,CountSpecificationInterceptor,DeleteAllSpecificationInterceptor,ExistsSpecificationInterceptor,FindAllSpecificationInterceptor,FindOneSpecificationInterceptor,FindPageSpecificationInterceptor,UpdateAllSpecificationInterceptor
@Internal
public abstract class AbstractSpecificationInterceptor<T,R>
extends AbstractQueryInterceptor<T,R>
Abstract specification interceptor.
- Since:
- 3.2
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final io.micronaut.data.operations.CriteriaRepositoryOperationsprotected static final StringFields inherited from class io.micronaut.data.runtime.intercept.AbstractQueryInterceptor
conversionService, operations, preparedQueryResolver -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractSpecificationInterceptor(io.micronaut.data.operations.RepositoryOperations operations) Default constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected final <E> @NonNull jakarta.persistence.criteria.CriteriaQuery<Long>buildCountQuery(io.micronaut.aop.MethodInvocationContext<T, R> context) protected final <E> jakarta.persistence.criteria.CriteriaDelete<E>buildDeleteQuery(io.micronaut.aop.MethodInvocationContext<T, R> context) protected final <E> jakarta.persistence.criteria.CriteriaQuery<E>buildExistsQuery(io.micronaut.aop.MethodInvocationContext<T, R> context, Set<io.micronaut.data.model.query.JoinPath> annotationJoinPaths) protected final <N> jakarta.persistence.criteria.CriteriaQuery<N>buildQuery(io.micronaut.aop.MethodInvocationContext<T, R> context, AbstractSpecificationInterceptor.Type type, Set<io.micronaut.data.model.query.JoinPath> methodJoinPaths) protected final <E> jakarta.persistence.criteria.CriteriaUpdate<E>buildUpdateQuery(io.micronaut.aop.MethodInvocationContext<T, R> context) protected final @NonNull Longcount(io.micronaut.data.intercept.RepositoryMethodKey methodKey, io.micronaut.aop.MethodInvocationContext<T, R> context) deleteAll(io.micronaut.data.intercept.RepositoryMethodKey methodKey, io.micronaut.aop.MethodInvocationContext<T, R> context) protected final booleanexists(io.micronaut.data.intercept.RepositoryMethodKey methodKey, io.micronaut.aop.MethodInvocationContext<T, R> context) protected final @NonNull Iterable<?>findAll(io.micronaut.data.intercept.RepositoryMethodKey methodKey, io.micronaut.aop.MethodInvocationContext<T, R> context, AbstractSpecificationInterceptor.Type type) protected final @NonNull ObjectfindOne(io.micronaut.data.intercept.RepositoryMethodKey methodKey, io.micronaut.aop.MethodInvocationContext<T, R> context, AbstractSpecificationInterceptor.Type type) protected <K> @NonNull io.micronaut.data.repository.jpa.criteria.CriteriaDeleteBuilder<K>getCriteriaDeleteBuilder(io.micronaut.aop.MethodInvocationContext<?, ?> context) FindCriteriaDeleteBuilderorQuerySpecificationin context.protected <K> @NonNull io.micronaut.data.repository.jpa.criteria.CriteriaQueryBuilder<K>getCriteriaQueryBuilder(io.micronaut.aop.MethodInvocationContext<?, ?> context, Set<io.micronaut.data.model.query.JoinPath> joinPaths) FindCriteriaQueryBuilderorQuerySpecificationin context.protected <K> @NonNull io.micronaut.data.repository.jpa.criteria.CriteriaUpdateBuilder<K>getCriteriaUpdateBuilder(io.micronaut.aop.MethodInvocationContext<?, ?> context) FindCriteriaUpdateBuilderorQuerySpecificationin context.protected <K> @Nullable io.micronaut.data.repository.jpa.criteria.DeleteSpecification<K>getDeleteSpecification(io.micronaut.aop.MethodInvocationContext<?, ?> context) FindDeleteSpecificationin context.protected final Set<io.micronaut.data.model.query.JoinPath>getMethodJoinPaths(io.micronaut.data.intercept.RepositoryMethodKey methodKey, io.micronaut.aop.MethodInvocationContext<T, R> context) protected <K> @Nullable io.micronaut.data.repository.jpa.criteria.QuerySpecification<K>getQuerySpecification(io.micronaut.aop.MethodInvocationContext<?, ?> context) FindQuerySpecificationin context.protected <K> @Nullable io.micronaut.data.repository.jpa.criteria.UpdateSpecification<K>getUpdateSpecification(io.micronaut.aop.MethodInvocationContext<?, ?> context) FindUpdateSpecificationin context.protected final <E,QR> @NonNull io.micronaut.data.model.runtime.PreparedQuery<E, QR> preparedQueryForCriteria(io.micronaut.data.intercept.RepositoryMethodKey methodKey, io.micronaut.aop.MethodInvocationContext<T, R> context, AbstractSpecificationInterceptor.Type type, Set<io.micronaut.data.model.query.JoinPath> methodJoinPaths) updateAll(io.micronaut.data.intercept.RepositoryMethodKey methodKey, io.micronaut.aop.MethodInvocationContext<T, R> context) Methods inherited from class io.micronaut.data.runtime.intercept.AbstractQueryInterceptor
convertOne, convertOne, count, findEntitiesParameter, findEntityParameter, getDeleteAllBatchOperation, getDeleteBatchOperation, getDeleteBatchOperation, getDeleteOperation, getDeleteReturningBatchOperation, getDeleteReturningOperation, getEntitiesParameter, getEntityParameter, getInsertBatchOperation, getInsertBatchOperation, getInsertOperation, getInsertOperation, getPageable, getPagedQuery, getParameterValueMap, getRequiredEntity, getRequiredRootEntity, getReturnType, getUpdateAllBatchOperation, getUpdateOperation, getUpdateOperation, instantiateEntity, isNullable, isNumber, prepareCountQuery, prepareQuery, prepareQuery, prepareQuery, validateNullArgumentsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.data.intercept.DataInterceptor
intercept
-
Field Details
-
PREPARED_QUERY_KEY
- See Also:
-
criteriaRepositoryOperations
protected final io.micronaut.data.operations.CriteriaRepositoryOperations criteriaRepositoryOperations
-
-
Constructor Details
-
AbstractSpecificationInterceptor
protected AbstractSpecificationInterceptor(io.micronaut.data.operations.RepositoryOperations operations) Default constructor.- Parameters:
operations- The operations
-
-
Method Details
-
findAll
@NonNull protected final @NonNull Iterable<?> findAll(io.micronaut.data.intercept.RepositoryMethodKey methodKey, io.micronaut.aop.MethodInvocationContext<T, R> context, AbstractSpecificationInterceptor.Type type) -
findOne
@NonNull protected final @NonNull Object findOne(io.micronaut.data.intercept.RepositoryMethodKey methodKey, io.micronaut.aop.MethodInvocationContext<T, R> context, AbstractSpecificationInterceptor.Type type) -
getMethodJoinPaths
-
count
-
exists
-
deleteAll
-
updateAll
-
preparedQueryForCriteria
@NonNull protected final <E,QR> @NonNull io.micronaut.data.model.runtime.PreparedQuery<E,QR> preparedQueryForCriteria(io.micronaut.data.intercept.RepositoryMethodKey methodKey, io.micronaut.aop.MethodInvocationContext<T, R> context, AbstractSpecificationInterceptor.Type type, Set<io.micronaut.data.model.query.JoinPath> methodJoinPaths) -
buildExistsQuery
-
buildUpdateQuery
-
buildDeleteQuery
-
buildCountQuery
-
buildQuery
protected final <N> jakarta.persistence.criteria.CriteriaQuery<N> buildQuery(io.micronaut.aop.MethodInvocationContext<T, R> context, AbstractSpecificationInterceptor.Type type, Set<io.micronaut.data.model.query.JoinPath> methodJoinPaths) -
getQuerySpecification
@Nullable protected <K> @Nullable io.micronaut.data.repository.jpa.criteria.QuerySpecification<K> getQuerySpecification(io.micronaut.aop.MethodInvocationContext<?, ?> context) FindQuerySpecificationin context.- Type Parameters:
K- the specification entity root type- Parameters:
context- The context- Returns:
- found specification
-
getCriteriaQueryBuilder
@NonNull protected <K> @NonNull io.micronaut.data.repository.jpa.criteria.CriteriaQueryBuilder<K> getCriteriaQueryBuilder(io.micronaut.aop.MethodInvocationContext<?, ?> context, Set<io.micronaut.data.model.query.JoinPath> joinPaths) FindCriteriaQueryBuilderorQuerySpecificationin context.- Type Parameters:
K- the result type- Parameters:
context- The contextjoinPaths- The join fetch paths- Returns:
- found specification
-
getDeleteSpecification
@Nullable protected <K> @Nullable io.micronaut.data.repository.jpa.criteria.DeleteSpecification<K> getDeleteSpecification(io.micronaut.aop.MethodInvocationContext<?, ?> context) FindDeleteSpecificationin context.- Type Parameters:
K- the specification entity root type- Parameters:
context- The context- Returns:
- found specification
-
getCriteriaDeleteBuilder
@NonNull protected <K> @NonNull io.micronaut.data.repository.jpa.criteria.CriteriaDeleteBuilder<K> getCriteriaDeleteBuilder(io.micronaut.aop.MethodInvocationContext<?, ?> context) FindCriteriaDeleteBuilderorQuerySpecificationin context.- Type Parameters:
K- the result type- Parameters:
context- The context- Returns:
- found specification
-
getUpdateSpecification
@Nullable protected <K> @Nullable io.micronaut.data.repository.jpa.criteria.UpdateSpecification<K> getUpdateSpecification(io.micronaut.aop.MethodInvocationContext<?, ?> context) FindUpdateSpecificationin context.- Type Parameters:
K- the specification entity root type- Parameters:
context- The context- Returns:
- found specification
-
getCriteriaUpdateBuilder
@NonNull protected <K> @NonNull io.micronaut.data.repository.jpa.criteria.CriteriaUpdateBuilder<K> getCriteriaUpdateBuilder(io.micronaut.aop.MethodInvocationContext<?, ?> context) FindCriteriaUpdateBuilderorQuerySpecificationin context.- Type Parameters:
K- the result type- Parameters:
context- The context- Returns:
- found specification
-