Class BaseSearchParamExtractor
java.lang.Object
ca.uhn.fhir.jpa.searchparam.extractor.BaseSearchParamExtractor
- All Implemented Interfaces:
ISearchParamExtractor
- Direct Known Subclasses:
SearchParamExtractorDstu2
,SearchParamExtractorDstu3
,SearchParamExtractorR4
,SearchParamExtractorR4B
,SearchParamExtractorR5
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
Extractor for composite SPs.static interface
Nested classes/interfaces inherited from interface ca.uhn.fhir.jpa.searchparam.extractor.ISearchParamExtractor
ISearchParamExtractor.ISearchParamFilter, ISearchParamExtractor.SearchParamSet<T>
-
Field Summary
Modifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContext
Fields inherited from interface ca.uhn.fhir.jpa.searchparam.extractor.ISearchParamExtractor
ALL_PARAMS, NO_PARAMS
-
Method Summary
Modifier and TypeMethodDescriptioncreateSearchParamForCoding
(String theResourceType, ca.uhn.fhir.context.RuntimeSearchParam theSearchParam, org.hl7.fhir.instance.model.api.IBase theValue) extractDateFromResource
(org.hl7.fhir.instance.model.api.IBase theValue, String thePath) extractParamValuesAsStrings
(ca.uhn.fhir.context.RuntimeSearchParam theSearchParam, org.hl7.fhir.instance.model.api.IBaseResource theResource) extractReferenceLinkFromResource
(org.hl7.fhir.instance.model.api.IBase theValue, String thePath) extractResourceLinks
(org.hl7.fhir.instance.model.api.IBaseResource theResource, boolean theWantLocalReferences) <T> void
extractSearchParam
(ca.uhn.fhir.context.RuntimeSearchParam theSearchParameterDef, org.hl7.fhir.instance.model.api.IBase theResource, ca.uhn.fhir.jpa.searchparam.extractor.BaseSearchParamExtractor.IExtractor<T> theExtractor, ISearchParamExtractor.SearchParamSet<T> theSetToPopulate, boolean theWantLocalReferences) extract for normal SPextractSearchParamComboNonUnique
(String theResourceType, ResourceIndexedSearchParams theParams) extractSearchParamComboUnique
(String theResourceType, ResourceIndexedSearchParams theParams) extractSearchParamComposites
(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) extractSearchParamDates
(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) extractSearchParamNumber
(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) extractSearchParamQuantity
(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) extractSearchParamQuantityNormalized
(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) extractSearchParamSpecial
(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) extractSearchParamStrings
(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) extractSearchParamTokens
(org.hl7.fhir.instance.model.api.IBaseResource theResource, ca.uhn.fhir.context.RuntimeSearchParam theSearchParam) extractSearchParamTokens
(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) extractSearchParamUri
(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) extractSystem
(org.hl7.fhir.instance.model.api.IBaseEnumeration<T> theBoundCode) protected static BigDecimal
extractValueAsBigDecimal
(ca.uhn.fhir.context.BaseRuntimeChildDefinition theChildDefinition, org.hl7.fhir.instance.model.api.IBase theElement) protected static Date
extractValueAsDate
(ca.uhn.fhir.context.BaseRuntimeChildDefinition theChildDefinition, org.hl7.fhir.instance.model.api.IBase theElement) protected static String
extractValueAsString
(ca.uhn.fhir.context.BaseRuntimeChildDefinition theChildDefinition, org.hl7.fhir.instance.model.api.IBase theElement) List
<org.hl7.fhir.instance.model.api.IBase> extractValues
(String thePaths, org.hl7.fhir.instance.model.api.IBase theResource) Override parent because we're using FHIRPath hereextractValuesAsFhirDates
(ca.uhn.fhir.context.BaseRuntimeChildDefinition theChildDefinition, org.hl7.fhir.instance.model.api.IBase theElement) extractValuesAsStrings
(ca.uhn.fhir.context.BaseRuntimeChildDefinition theChildDefinition, org.hl7.fhir.instance.model.api.IBase theValue) List
<org.hl7.fhir.instance.model.api.IBase> getCodingsFromCodeableConcept
(org.hl7.fhir.instance.model.api.IBase theValue) protected ca.uhn.fhir.context.FhirContext
getDisplayTextForCoding
(org.hl7.fhir.instance.model.api.IBase theValue) getDisplayTextFromCodeableConcept
(org.hl7.fhir.instance.model.api.IBase theValue) protected StorageSettings
void
setContext
(ca.uhn.fhir.context.FhirContext theContext) void
setExtractResourceLevelParams
(boolean theExtractResourceLevelParams) void
setPartitionSettings
(PartitionSettings thePartitionSettings) void
setSearchParamRegistry
(ca.uhn.fhir.rest.server.util.ISearchParamRegistry theSearchParamRegistry) void
setStorageSettings
(StorageSettings theStorageSettings) boolean
shouldAttemptToSplitPath
(String thePath) protected boolean
shouldIndexTextComponentOfToken
(ca.uhn.fhir.context.RuntimeSearchParam theSearchParam) String[]
static String[]
splitPathsR4
(String thePaths) Note that this should only be called for R4+ servers.void
start()
static boolean
tokenTextIndexingEnabledForSearchParam
(StorageSettings theStorageSettings, ca.uhn.fhir.context.RuntimeSearchParam theSearchParam) toRootTypeName
(org.hl7.fhir.instance.model.api.IBase nextObject) toTypeName
(org.hl7.fhir.instance.model.api.IBase nextObject) 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.searchparam.extractor.ISearchParamExtractor
extractSearchParamComposites, extractSearchParamDates, extractSearchParamNumber, extractSearchParamQuantity, extractSearchParamQuantityNormalized, extractSearchParamStrings, extractSearchParamTokens, extractSearchParamUri, getPathValueExtractor
-
Field Details
-
COORDS_INDEX_PATHS
-
myApplicationContext
-
-
Method Details
-
extractResourceLinks
public ISearchParamExtractor.SearchParamSet<PathAndRef> extractResourceLinks(org.hl7.fhir.instance.model.api.IBaseResource theResource, boolean theWantLocalReferences) - Specified by:
extractResourceLinks
in interfaceISearchParamExtractor
-
extractReferenceLinkFromResource
public PathAndRef extractReferenceLinkFromResource(org.hl7.fhir.instance.model.api.IBase theValue, String thePath) - Specified by:
extractReferenceLinkFromResource
in interfaceISearchParamExtractor
-
extractParamValuesAsStrings
public List<String> extractParamValuesAsStrings(ca.uhn.fhir.context.RuntimeSearchParam theSearchParam, org.hl7.fhir.instance.model.api.IBaseResource theResource) - Specified by:
extractParamValuesAsStrings
in interfaceISearchParamExtractor
-
extractSearchParamComposites
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamComposite> extractSearchParamComposites(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamComposites
in interfaceISearchParamExtractor
-
extractSearchParamComboUnique
public ISearchParamExtractor.SearchParamSet<ResourceIndexedComboStringUnique> extractSearchParamComboUnique(String theResourceType, ResourceIndexedSearchParams theParams) - Specified by:
extractSearchParamComboUnique
in interfaceISearchParamExtractor
-
extractSearchParamComboNonUnique
public ISearchParamExtractor.SearchParamSet<ResourceIndexedComboTokenNonUnique> extractSearchParamComboNonUnique(String theResourceType, ResourceIndexedSearchParams theParams) - Specified by:
extractSearchParamComboNonUnique
in interfaceISearchParamExtractor
-
extractSearchParamTokens
public ISearchParamExtractor.SearchParamSet<BaseResourceIndexedSearchParam> extractSearchParamTokens(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamTokens
in interfaceISearchParamExtractor
-
extractSearchParamTokens
public ISearchParamExtractor.SearchParamSet<BaseResourceIndexedSearchParam> extractSearchParamTokens(org.hl7.fhir.instance.model.api.IBaseResource theResource, ca.uhn.fhir.context.RuntimeSearchParam theSearchParam) - Specified by:
extractSearchParamTokens
in interfaceISearchParamExtractor
-
extractSearchParamSpecial
public ISearchParamExtractor.SearchParamSet<BaseResourceIndexedSearchParam> extractSearchParamSpecial(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamSpecial
in interfaceISearchParamExtractor
-
extractSearchParamUri
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamUri> extractSearchParamUri(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamUri
in interfaceISearchParamExtractor
-
extractSearchParamDates
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamDate> extractSearchParamDates(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamDates
in interfaceISearchParamExtractor
-
extractDateFromResource
- Specified by:
extractDateFromResource
in interfaceISearchParamExtractor
-
extractSearchParamNumber
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamNumber> extractSearchParamNumber(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamNumber
in interfaceISearchParamExtractor
-
extractSearchParamQuantity
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamQuantity> extractSearchParamQuantity(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamQuantity
in interfaceISearchParamExtractor
-
extractSearchParamQuantityNormalized
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamQuantityNormalized> extractSearchParamQuantityNormalized(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamQuantityNormalized
in interfaceISearchParamExtractor
-
extractSearchParamStrings
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamString> extractSearchParamStrings(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamStrings
in interfaceISearchParamExtractor
-
extractValues
public List<org.hl7.fhir.instance.model.api.IBase> extractValues(String thePaths, org.hl7.fhir.instance.model.api.IBase theResource) Override parent because we're using FHIRPath here- Specified by:
extractValues
in interfaceISearchParamExtractor
-
getContext
-
setContext
-
getStorageSettings
-
setStorageSettings
-
setSearchParamRegistry
public void setSearchParamRegistry(ca.uhn.fhir.rest.server.util.ISearchParamRegistry theSearchParamRegistry) -
shouldIndexTextComponentOfToken
protected boolean shouldIndexTextComponentOfToken(ca.uhn.fhir.context.RuntimeSearchParam theSearchParam) -
getCodingsFromCodeableConcept
public List<org.hl7.fhir.instance.model.api.IBase> getCodingsFromCodeableConcept(org.hl7.fhir.instance.model.api.IBase theValue) - Specified by:
getCodingsFromCodeableConcept
in interfaceISearchParamExtractor
-
getDisplayTextFromCodeableConcept
- Specified by:
getDisplayTextFromCodeableConcept
in interfaceISearchParamExtractor
-
createSearchParamForCoding
public ResourceIndexedSearchParamToken createSearchParamForCoding(String theResourceType, ca.uhn.fhir.context.RuntimeSearchParam theSearchParam, org.hl7.fhir.instance.model.api.IBase theValue) - Specified by:
createSearchParamForCoding
in interfaceISearchParamExtractor
-
getDisplayTextForCoding
- Specified by:
getDisplayTextForCoding
in interfaceISearchParamExtractor
-
extractSearchParam
public <T> void extractSearchParam(ca.uhn.fhir.context.RuntimeSearchParam theSearchParameterDef, org.hl7.fhir.instance.model.api.IBase theResource, ca.uhn.fhir.jpa.searchparam.extractor.BaseSearchParamExtractor.IExtractor<T> theExtractor, ISearchParamExtractor.SearchParamSet<T> theSetToPopulate, boolean theWantLocalReferences) extract for normal SP -
toRootTypeName
- Specified by:
toRootTypeName
in interfaceISearchParamExtractor
-
toTypeName
- Specified by:
toTypeName
in interfaceISearchParamExtractor
-
setPartitionSettings
-
split
- Specified by:
split
in interfaceISearchParamExtractor
-
shouldAttemptToSplitPath
-
start
-
splitPathsR4
Note that this should only be called for R4+ servers. Prior to R4 the paths could be separated by the word "or" or by a "|" character, so we used a slower splitting mechanism. -
tokenTextIndexingEnabledForSearchParam
public static boolean tokenTextIndexingEnabledForSearchParam(StorageSettings theStorageSettings, ca.uhn.fhir.context.RuntimeSearchParam theSearchParam) -
extractValueAsString
protected static String extractValueAsString(ca.uhn.fhir.context.BaseRuntimeChildDefinition theChildDefinition, org.hl7.fhir.instance.model.api.IBase theElement) -
extractValueAsDate
protected static Date extractValueAsDate(ca.uhn.fhir.context.BaseRuntimeChildDefinition theChildDefinition, org.hl7.fhir.instance.model.api.IBase theElement) -
extractValueAsBigDecimal
protected static BigDecimal extractValueAsBigDecimal(ca.uhn.fhir.context.BaseRuntimeChildDefinition theChildDefinition, org.hl7.fhir.instance.model.api.IBase theElement) -
extractValuesAsFhirDates
protected static List<org.hl7.fhir.instance.model.api.IPrimitiveType<Date>> extractValuesAsFhirDates(ca.uhn.fhir.context.BaseRuntimeChildDefinition theChildDefinition, org.hl7.fhir.instance.model.api.IBase theElement) -
extractValuesAsStrings
protected static List<String> extractValuesAsStrings(ca.uhn.fhir.context.BaseRuntimeChildDefinition theChildDefinition, org.hl7.fhir.instance.model.api.IBase theValue) -
extractSystem
protected static <T extends Enum<?>> String extractSystem(org.hl7.fhir.instance.model.api.IBaseEnumeration<T> theBoundCode) -
setExtractResourceLevelParams
-