public interface SparselyPopulatedQueryExtensionHandler extends ExtensionHandler
ResultType
. Requesting results for a ResultType of STANDARD drives results filtered
specifically to a standard site, which is multitenant module concept. A ResultType of TEMPLATE drives results specifically
for template site catalog or profile (also a multitenant concept). In the absence of the multitenant module, ExtensionManager
instance of this type should have no effect.ResultType
Modifier and Type | Method and Description |
---|---|
ExtensionResultStatusType |
breakdown(Class<?> type,
ResultType resultType)
Perform any breakdown operations.
|
ExtensionResultStatusType |
buildStatus(Class<?> type,
List queryResults,
ExtensionResultHolder<List<StandardCacheItem>> response)
Convert the list of query results into a list that denotes not only the query results, but also whether or not each member
represents a deleted/archived item, or an active/normal item.
|
ExtensionResultStatusType |
getCacheKey(Object testObject,
String qualifier,
ResultType resultType,
ExtensionResultHolder<String> response)
Build the cache key to be used for either the STANDARD or TEMPLATE style cache, driven by the resultType.
|
ExtensionResultStatusType |
getCacheKey(String qualifier,
ResultType resultType,
ExtensionResultHolder<String> response)
Build the cache key to be used for either the STANDARD or TEMPLATE style cache, driven by the resultType.
|
ExtensionResultStatusType |
getCacheKeyListForTemplateSite(String qualifier,
ExtensionResultHolder<List<String>> response)
Build a list of cache keys that are related to a TEMPLATE template site
|
ExtensionResultStatusType |
getNormalizedId(Object testObject,
ExtensionResultHolder<Long> response)
Get a common id for an object that is consistent for a standard site (whether or not the test object is overridden in the standard site)
|
ExtensionResultStatusType |
getResultType(Object testObject,
ExtensionResultHolder<ResultType> response)
By examining the multitenant information related to a test object, return whether the object is related to a standard
site, or a template profile or catalog, if applicable.
|
ExtensionResultStatusType |
isValidState(ExtensionResultHolder<Boolean> response)
Determine if the current thread is in a valid state for sparse cache handling
|
ExtensionResultStatusType |
refineOrder(Class<?> type,
ResultType resultType,
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,
ResultType resultType,
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,
ResultType resultType,
javax.persistence.TypedQuery query)
Finish the query - possibly setting parameters
|
ExtensionResultStatusType |
refineResults(Class<?> type,
ResultType resultType,
List queryResults,
ExtensionResultHolder<List> response)
Filter the results from the database in Java
|
ExtensionResultStatusType |
refineRetrieve(Class<?> type,
ResultType resultType,
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 |
setup(Class<?> type,
ResultType resultType)
Perform any setup operations.
|
getPriority, isEnabled
ExtensionResultStatusType refineRetrieve(Class<?> type, ResultType resultType, javax.persistence.criteria.CriteriaBuilder builder, javax.persistence.criteria.CriteriaQuery criteria, javax.persistence.criteria.Root root, List<javax.persistence.criteria.Predicate> restrictions)
type
- the class type for the queryresultType
- pass a ResultType of IGNORE to explicitly ignore refineRetrieve, even if the multitenant module is loadedbuilder
- criteria
- root
- restrictions
- any additional JPA criteria restrictions should be added hereExtensionResultStatusType refineParameterRetrieve(Class<?> type, ResultType resultType, javax.persistence.criteria.CriteriaBuilder builder, javax.persistence.criteria.CriteriaQuery criteria, javax.persistence.criteria.Root root, List<javax.persistence.criteria.Predicate> restrictions)
refineQuery(Class, ResultType, TypedQuery)
to pass the actual parameter values before retrieving the query
results.type
- the class type for the queryresultType
- pass a ResultType of IGNORE to explicitly ignore refineRetrieve, even if the multitenant module is loadedbuilder
- criteria
- root
- restrictions
- any additional JPA criteria restrictions should be added hereExtensionResultStatusType refineQuery(Class<?> type, ResultType resultType, javax.persistence.TypedQuery query)
type
- the class type for the queryresultType
- pass a ResultType of IGNORE to explicitly ignore refineQuery, even if the multitenant module is loadedquery
- the final Query instance to embellishExtensionResultStatusType setup(Class<?> type, ResultType resultType)
type
- the class type for the queryresultType
- pass a ResultType of IGNORE to explicitly ignore setup, even if the multitenant module is loadedExtensionResultStatusType breakdown(Class<?> type, ResultType resultType)
type
- the class type for the queryresultType
- pass a ResultType of IGNORE to explicitly ignore breakdown, even if the multitenant module is loadedExtensionResultStatusType refineOrder(Class<?> type, ResultType resultType, 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 queryresultType
- builder
- criteria
- root
- sorts
- any additional JPA order expressions should be added hereExtensionResultStatusType refineResults(Class<?> type, ResultType resultType, List queryResults, ExtensionResultHolder<List> response)
type
- the class type for the queryresultType
- queryResults
- the results of the fetch query from the databaseresponse
- the container for the filtered resultsExtensionResultStatusType getResultType(Object testObject, ExtensionResultHolder<ResultType> response)
testObject
- the multitenant object to testresponse
- the response containerExtensionResultStatusType getCacheKey(Object testObject, String qualifier, ResultType resultType, ExtensionResultHolder<String> response)
testObject
- object to examine for a portion of the cache keyqualifier
- the suffix for the cache keyresultType
- the type of cache key to create (STANDARD or TEMPLATE)response
- the response containerExtensionResultStatusType getCacheKey(String qualifier, ResultType resultType, ExtensionResultHolder<String> response)
qualifier
- the suffix for the cache keyresultType
- the type of cache key to create (STANDARD or TEMPLATE)response
- the response containerExtensionResultStatusType getCacheKeyListForTemplateSite(String qualifier, ExtensionResultHolder<List<String>> response)
qualifier
- the suffix for the cache keyresponse
- the response containerExtensionResultStatusType buildStatus(Class<?> type, List queryResults, ExtensionResultHolder<List<StandardCacheItem>> response)
type
- the class type for the queryqueryResults
- the results of the fetch query from the databaseresponse
- the response container - the list is sorted with deleted item appearing firstExtensionResultStatusType isValidState(ExtensionResultHolder<Boolean> response)
response
- ExtensionResultStatusType getNormalizedId(Object testObject, ExtensionResultHolder<Long> response)
testObject
- the object whose id is normalizedresponse
- the container for the normalized idCopyright © 2022. All rights reserved.