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, isEnabled
ExtensionResultStatusType 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 © 2022. All rights reserved.