Package ca.uhn.fhir.jpa.dao
Class JpaResourceDaoSearchParameter<T extends org.hl7.fhir.instance.model.api.IBaseResource>
java.lang.Object
ca.uhn.fhir.jpa.dao.BaseStorageDao
ca.uhn.fhir.jpa.dao.BaseStorageResourceDao<T>
ca.uhn.fhir.jpa.dao.BaseHapiFhirDao<T>
ca.uhn.fhir.jpa.dao.BaseHapiFhirResourceDao<T>
ca.uhn.fhir.jpa.dao.JpaResourceDaoSearchParameter<T>
- All Implemented Interfaces:
IDao
,IFhirResourceDao<T>
,IFhirResourceDaoSearchParameter<T>
,IJpaDao<T>
,org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
public class JpaResourceDaoSearchParameter<T extends org.hl7.fhir.instance.model.api.IBaseResource>
extends BaseHapiFhirResourceDao<T>
implements IFhirResourceDaoSearchParameter<T>
-
Field Summary
Fields inherited from class ca.uhn.fhir.jpa.dao.BaseHapiFhirResourceDao
BASE_RESOURCE_NAME, myInterceptorBroadcaster, myPlatformTransactionManager, mySearchDao, myTransactionService
Fields inherited from class ca.uhn.fhir.jpa.dao.BaseHapiFhirDao
cacheTagDefinitionDao, INDEX_STATUS_INDEXED, INDEX_STATUS_INDEXING_FAILED, myCodingSpy, myDeleteConflictService, myEntityManager, myIdHelperService, myInMemoryResourceMatcher, myJpaStorageResourceParser, myPartitionSettings, myResourceHistoryCalculator, myResourceHistoryTableDao, myResourceLinkDao, myResourceTableDao, myResourceTagDao, mySearchCoordinatorSvc, myTerminologySvc, NS_JPA_PROFILE
Fields inherited from class ca.uhn.fhir.jpa.dao.BaseStorageResourceDao
STRICT_ERROR_HANDLER
Fields inherited from class ca.uhn.fhir.jpa.dao.BaseStorageDao
MESSAGE_KEY_DELETE_RESOURCE_ALREADY_DELETED, MESSAGE_KEY_DELETE_RESOURCE_NOT_EXISTING, myFhirContext, myMetaTagSorter, myResourceVersionSvc, mySearchParamRegistry, myStorageSettings, OO_SEVERITY_ERROR, OO_SEVERITY_INFO, OO_SEVERITY_WARN
Fields inherited from interface ca.uhn.fhir.jpa.api.dao.IDao
CURRENTLY_REINDEXING, RESOURCE_PID, RESOURCE_PID_KEY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
postPersist
(ResourceTable theEntity, T theResource, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) Subclasses may override to provide behaviour.protected void
postUpdate
(ResourceTable theEntity, T theResource, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) Subclasses may override to provide behaviour.protected void
preDelete
(T theResourceToDelete, ResourceTable theEntityToDelete, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) Subclasses may override to provide behaviour.protected void
reindexAffectedResources
(T theResource, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) void
setSearchParameterDaoValidatorForUnitTest
(SearchParameterDaoValidator theSearchParameterDaoValidator) protected void
validateResourceForStorage
(T theResource, ResourceTable theEntityToSave) This method is invoked immediately before storing a new resource, or an update to an existing resource to allow the DAO to ensure that it is valid for persistence.void
validateSearchParam
(org.hl7.fhir.instance.model.api.IBaseResource theResource) Methods inherited from class ca.uhn.fhir.jpa.dao.BaseHapiFhirResourceDao
create, create, create, create, create, delete, delete, delete, deleteByUrl, deleteByUrl, deletePidList, doCreateForPost, doMetaAddOperation, doMetaDeleteOperation, doUpdateForUpdateOrPatch, expunge, expunge, expunge, forceExpungeInExistingTransaction, getDeleteExpungeJobSubmitter, getMatchResourceUrlService, getMessageSanitized, getResourceName, getResourceType, getStorageResourceParser, getTransactionService, history, history, history, invokeStoragePreAccessResources, invokeStoragePreShowResources, isPagingProviderDatabaseBacked, metaAddOperation, metaDeleteOperation, metaGetOperation, metaGetOperation, read, read, read, readByPid, readByPid, readEntity, readEntityLatestVersion, readEntityLatestVersion, reindex, reindex, removeTag, removeTag, requestReindexForRelatedResources, search, search, search, searchForIds, searchForIdStream, searchForResourceIds, searchForResources, setIdHelperSvcForUnitTest, setOffsetAndCount, setRequestPartitionHelperService, setResourceType, setTransactionService, shouldSkipReindex, start, toMetaDt, update, update, update, update, update, update, updateEntityForDelete, validate, validateCriteriaAndReturnResourceDefinition
Methods inherited from class ca.uhn.fhir.jpa.dao.BaseHapiFhirDao
addPidToResource, decodeResource, getApplicationContext, getContext, getInterceptorBroadcaster, getStorageSettings, isLogicalReference, parseContentTextIntoWords, populateFullTextFields, populateResourceIntoEntity, postDelete, setApplicationContext, setContext, setDaoSearchParamSynchronizer, setDisableIncrementOnUpdateForUnitTest, setEntityManager, setExternallyStoredResourceServiceRegistryForUnitTest, setJpaStorageResourceParserForUnitTest, setPartitionSettingsForUnitTest, setResourceHistoryCalculator, setResourceHistoryTableDao, setSearchParamPresenceSvc, setSearchParamWithInlineReferencesExtractor, setStorageSettingsForUnitTest, setValidationDisabledForUnitTest, shouldDroppedTagBeRemovedOnUpdate, updateEntity, updateHistoryEntity, updateInternal, validateMetaCount
Methods inherited from class ca.uhn.fhir.jpa.dao.BaseStorageResourceDao
deleteExpunge, patch, patchInTransaction, validateResourceType
Methods inherited from class ca.uhn.fhir.jpa.dao.BaseStorageDao
clearRequestAsProcessingSubRequest, createErrorOperationOutcome, createInfoOperationOutcome, createInfoOperationOutcome, createMethodOutcomeForResourceId, createOperationOutcome, createResourceGoneException, doCallHooks, extractReferencesToAutoVersion, markRequestAsProcessingSubRequest, populateOperationOutcomeForUpdate, preProcessResourceForStorage, preProcessResourceForStorage, setMyMetaTagSorter, setSearchParamRegistry, toMethodOutcome, toMethodOutcomeLazy, translateRawParameters
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface ca.uhn.fhir.jpa.api.dao.IDao
getContext
Methods inherited from interface ca.uhn.fhir.jpa.api.dao.IFhirResourceDao
create, create, create, create, create, delete, delete, delete, deleteByUrl, deleteByUrl, deletePidList, deletePidList, expunge, expunge, expunge, forceExpungeInExistingTransaction, getCurrentVersionId, getReindexJobStatus, getResourceType, history, history, history, metaAddOperation, metaDeleteOperation, metaGetOperation, metaGetOperation, patch, patchInTransaction, read, read, read, readByPid, readByPid, readEntity, reindex, reindex, removeTag, removeTag, search, search, search, searchForIds, searchForIds, searchForIdStream, searchForResourceIds, searchForResources, translateRawParameters, update, update, update, update, update, update, validate, validateCriteriaAndReturnResourceDefinition
-
Constructor Details
-
JpaResourceDaoSearchParameter
public JpaResourceDaoSearchParameter()
-
-
Method Details
-
reindexAffectedResources
protected void reindexAffectedResources(T theResource, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) -
postPersist
protected void postPersist(ResourceTable theEntity, T theResource, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) Description copied from class:BaseHapiFhirDao
Subclasses may override to provide behaviour. Called when a resource has been inserted into the database for the first time.- Overrides:
postPersist
in classBaseHapiFhirDao<T extends org.hl7.fhir.instance.model.api.IBaseResource>
- Parameters:
theEntity
- The entity being updated (Do not modify the entity! Undefined behaviour will occur!)theResource
- The resource being persistedtheRequestDetails
- The request details, needed for partition support
-
postUpdate
protected void postUpdate(ResourceTable theEntity, T theResource, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) Description copied from class:BaseHapiFhirDao
Subclasses may override to provide behaviour. Called when a pre-existing resource has been updated in the database- Overrides:
postUpdate
in classBaseHapiFhirDao<T extends org.hl7.fhir.instance.model.api.IBaseResource>
- Parameters:
theEntity
- The resourcetheResource
- The resource being persistedtheRequestDetails
- The request details, needed for partition support
-
preDelete
protected void preDelete(T theResourceToDelete, ResourceTable theEntityToDelete, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) Description copied from class:BaseHapiFhirResourceDao
Subclasses may override to provide behaviour. Invoked within a delete transaction with the resource that is about to be deleted.- Overrides:
preDelete
in classBaseHapiFhirResourceDao<T extends org.hl7.fhir.instance.model.api.IBaseResource>
-
validateResourceForStorage
Description copied from class:BaseHapiFhirDao
This method is invoked immediately before storing a new resource, or an update to an existing resource to allow the DAO to ensure that it is valid for persistence. By default, checks for the "subsetted" tag and rejects resources which have it. Subclasses should call the superclass implementation to preserve this check.- Overrides:
validateResourceForStorage
in classBaseHapiFhirDao<T extends org.hl7.fhir.instance.model.api.IBaseResource>
- Parameters:
theResource
- The resource that is about to be persistedtheEntityToSave
- TODO
-
validateSearchParam
-
setSearchParameterDaoValidatorForUnitTest
public void setSearchParameterDaoValidatorForUnitTest(SearchParameterDaoValidator theSearchParameterDaoValidator)
-