public interface TemplateOnlyQueryExtensionHandler extends ExtensionHandler
SparseTranslationOverrideStrategy
 is an example use case. This is generally used in multitenant scenarios.| Modifier and Type | Method and Description | 
|---|---|
| ExtensionResultStatusType | breakdown(Class<?> type)Perform any breakdown operations. | 
| ExtensionResultStatusType | buildStatus(Object entity,
           ExtensionResultHolder<ItemStatus> response) | 
| ExtensionResultStatusType | filterResults(Class<?> type,
             Object testObject,
             List results)Deprecated. 
 It's difficult to determine this efficiently at runtime. The current implementation will no longer check the use case described above. | 
| ExtensionResultStatusType | isValidState(ExtensionResultHolder<Boolean> response)Determine if the current thread is in a valid state for sparse cache handling | 
| ExtensionResultStatusType | refineOrder(Class<?> type,
           javax.persistence.criteria.CriteriaBuilder builder,
           javax.persistence.criteria.CriteriaQuery criteria,
           javax.persistence.criteria.Root root,
           List<javax.persistence.criteria.Order> sorts)Add sorting to the fetch query | 
| ExtensionResultStatusType | refineParameterRetrieve(Class<?> type,
                       Object testObject,
                       javax.persistence.criteria.CriteriaBuilder builder,
                       javax.persistence.criteria.CriteriaQuery criteria,
                       javax.persistence.criteria.Root root,
                       List<javax.persistence.criteria.Predicate> restrictions)Add additional restrictions to the fetch query. | 
| ExtensionResultStatusType | refineQuery(Class<?> type,
           Object testObject,
           javax.persistence.TypedQuery query)Finish the query - possibly setting parameters | 
| ExtensionResultStatusType | setup(Class<?> type)Perform any setup operations. | 
getPriority, isEnabledExtensionResultStatusType refineQuery(Class<?> type, Object testObject, javax.persistence.TypedQuery query)
type - the class type for the querytestObject - supporting implementations may use this object to test for possible catalog query optimizations. This value can be null, in which case it is ignored.query - the final Query instance to embellishExtensionResultStatusType refineParameterRetrieve(Class<?> type, Object testObject, javax.persistence.criteria.CriteriaBuilder builder, javax.persistence.criteria.CriteriaQuery criteria, javax.persistence.criteria.Root root, List<javax.persistence.criteria.Predicate> restrictions)
refineQuery(Class, Object, TypedQuery) to set
 actual parameter values before retrieving results.type - the class type for the querytestObject - supporting implementations may use this object to test for possible catalog query optimizations. This value can be null, in which case it is ignored.builder - criteria - root - restrictions - any additional JPA criteria restrictions should be added hereExtensionResultStatusType setup(Class<?> type)
type - the class type for the queryExtensionResultStatusType breakdown(Class<?> type)
type - the class type for the queryExtensionResultStatusType refineOrder(Class<?> type, javax.persistence.criteria.CriteriaBuilder builder, javax.persistence.criteria.CriteriaQuery criteria, javax.persistence.criteria.Root root, List<javax.persistence.criteria.Order> sorts)
type - the class type for the querybuilder - criteria - root - sorts - any additional JPA order expressions should be added hereExtensionResultStatusType isValidState(ExtensionResultHolder<Boolean> response)
response - ExtensionResultStatusType buildStatus(Object entity, ExtensionResultHolder<ItemStatus> response)
@Deprecated ExtensionResultStatusType filterResults(Class<?> type, Object testObject, List results)
type - testObject - results - Copyright © 2020. All rights reserved.