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, isEnabledExtensionResultStatusType 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 © 2020. All rights reserved.