Package ca.uhn.fhir.jpa.search.cache
Class DatabaseSearchResultCacheSvcImpl
java.lang.Object
ca.uhn.fhir.jpa.search.cache.DatabaseSearchResultCacheSvcImpl
- All Implemented Interfaces:
ISearchResultCacheSvc
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionList<ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId>
fetchAllResultPids
(Search theSearch) Fetch all result PIDs for a given search with no particular order requiredList<ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId>
fetchResultPids
(Search theSearch, int theFrom, int theTo) Fetch a sunset of the search result IDs from the cachevoid
storeResults
(Search theSearch, List<ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId> thePreviouslyStoredResourcePids, List<ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId> theNewResourcePids)
-
Constructor Details
-
DatabaseSearchResultCacheSvcImpl
public DatabaseSearchResultCacheSvcImpl()
-
-
Method Details
-
fetchResultPids
public List<ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId> fetchResultPids(Search theSearch, int theFrom, int theTo) Description copied from interface:ISearchResultCacheSvc
Fetch a sunset of the search result IDs from the cache- Specified by:
fetchResultPids
in interfaceISearchResultCacheSvc
- Parameters:
theSearch
- The search to fetch IDs fortheFrom
- The starting index (inclusive)theTo
- The ending index (exclusive)- Returns:
- A list of resource PIDs, or
null
if the results no longer exist (this should only happen if the results have been removed from the cache for some reason, such as expiry or manual purge)
-
fetchAllResultPids
public List<ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId> fetchAllResultPids(Search theSearch) Description copied from interface:ISearchResultCacheSvc
Fetch all result PIDs for a given search with no particular order required- Specified by:
fetchAllResultPids
in interfaceISearchResultCacheSvc
- Parameters:
theSearch
- The search object- Returns:
- A list of resource PIDs, or
null
if the results no longer exist (this should only happen if the results have been removed from the cache for some reason, such as expiry or manual purge)
-
storeResults
public void storeResults(Search theSearch, List<ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId> thePreviouslyStoredResourcePids, List<ca.uhn.fhir.rest.api.server.storage.ResourcePersistentId> theNewResourcePids) - Specified by:
storeResults
in interfaceISearchResultCacheSvc
- Parameters:
theSearch
- The search - This method is not required to persist any chances to the Search object, it is only provided here for identificationthePreviouslyStoredResourcePids
- A list of resource PIDs that have previously been saved to this searchtheNewResourcePids
- A list of new resoure PIDs to add to this search (these ones have not been previously saved)
-