
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
Nested ClassesModifier and TypeClassDescriptionclassExtractor for composite SPs.static interfaceNested classes/interfaces inherited from interface ca.uhn.fhir.jpa.searchparam.extractor.ISearchParamExtractor
ISearchParamExtractor.ISearchParamFilter, ISearchParamExtractor.SearchParamSet<T> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContextFields 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> voidextractSearchParam(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 BigDecimalextractValueAsBigDecimal(ca.uhn.fhir.context.BaseRuntimeChildDefinition theChildDefinition, org.hl7.fhir.instance.model.api.IBase theElement) protected static DateextractValueAsDate(ca.uhn.fhir.context.BaseRuntimeChildDefinition theChildDefinition, org.hl7.fhir.instance.model.api.IBase theElement) protected static StringextractValueAsString(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.FhirContextgetDisplayTextForCoding(org.hl7.fhir.instance.model.api.IBase theValue) getDisplayTextFromCodeableConcept(org.hl7.fhir.instance.model.api.IBase theValue) protected StorageSettingsvoidsetContext(ca.uhn.fhir.context.FhirContext theContext) voidsetExtractResourceLevelParams(boolean theExtractResourceLevelParams) voidsetPartitionSettings(PartitionSettings thePartitionSettings) voidsetSearchParamRegistry(ca.uhn.fhir.rest.server.util.ISearchParamRegistry theSearchParamRegistry) voidsetStorageSettings(StorageSettings theStorageSettings) booleanshouldAttemptToSplitPath(String thePath) protected booleanshouldIndexTextComponentOfToken(ca.uhn.fhir.context.RuntimeSearchParam theSearchParam) String[]static String[]splitPathsR4(String thePaths) Note that this should only be called for R4+ servers.voidstart()static booleantokenTextIndexingEnabledForSearchParam(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, waitMethods 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:
extractResourceLinksin interfaceISearchParamExtractor
-
extractReferenceLinkFromResource
public PathAndRef extractReferenceLinkFromResource(org.hl7.fhir.instance.model.api.IBase theValue, String thePath) - Specified by:
extractReferenceLinkFromResourcein interfaceISearchParamExtractor
-
extractParamValuesAsStrings
public List<String> extractParamValuesAsStrings(ca.uhn.fhir.context.RuntimeSearchParam theSearchParam, org.hl7.fhir.instance.model.api.IBaseResource theResource) - Specified by:
extractParamValuesAsStringsin interfaceISearchParamExtractor
-
extractSearchParamComposites
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamComposite> extractSearchParamComposites(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamCompositesin interfaceISearchParamExtractor
-
extractSearchParamComboUnique
public ISearchParamExtractor.SearchParamSet<ResourceIndexedComboStringUnique> extractSearchParamComboUnique(String theResourceType, ResourceIndexedSearchParams theParams) - Specified by:
extractSearchParamComboUniquein interfaceISearchParamExtractor
-
extractSearchParamComboNonUnique
public ISearchParamExtractor.SearchParamSet<ResourceIndexedComboTokenNonUnique> extractSearchParamComboNonUnique(String theResourceType, ResourceIndexedSearchParams theParams) - Specified by:
extractSearchParamComboNonUniquein interfaceISearchParamExtractor
-
extractSearchParamTokens
public ISearchParamExtractor.SearchParamSet<BaseResourceIndexedSearchParam> extractSearchParamTokens(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamTokensin interfaceISearchParamExtractor
-
extractSearchParamTokens
public ISearchParamExtractor.SearchParamSet<BaseResourceIndexedSearchParam> extractSearchParamTokens(org.hl7.fhir.instance.model.api.IBaseResource theResource, ca.uhn.fhir.context.RuntimeSearchParam theSearchParam) - Specified by:
extractSearchParamTokensin interfaceISearchParamExtractor
-
extractSearchParamSpecial
public ISearchParamExtractor.SearchParamSet<BaseResourceIndexedSearchParam> extractSearchParamSpecial(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamSpecialin interfaceISearchParamExtractor
-
extractSearchParamUri
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamUri> extractSearchParamUri(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamUriin interfaceISearchParamExtractor
-
extractSearchParamDates
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamDate> extractSearchParamDates(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamDatesin interfaceISearchParamExtractor
-
extractDateFromResource
- Specified by:
extractDateFromResourcein interfaceISearchParamExtractor
-
extractSearchParamNumber
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamNumber> extractSearchParamNumber(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamNumberin interfaceISearchParamExtractor
-
extractSearchParamQuantity
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamQuantity> extractSearchParamQuantity(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamQuantityin interfaceISearchParamExtractor
-
extractSearchParamQuantityNormalized
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamQuantityNormalized> extractSearchParamQuantityNormalized(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamQuantityNormalizedin interfaceISearchParamExtractor
-
extractSearchParamStrings
public ISearchParamExtractor.SearchParamSet<ResourceIndexedSearchParamString> extractSearchParamStrings(org.hl7.fhir.instance.model.api.IBaseResource theResource, ISearchParamExtractor.ISearchParamFilter theSearchParamFilter) - Specified by:
extractSearchParamStringsin 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:
extractValuesin 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:
getCodingsFromCodeableConceptin interfaceISearchParamExtractor
-
getDisplayTextFromCodeableConcept
- Specified by:
getDisplayTextFromCodeableConceptin interfaceISearchParamExtractor
-
createSearchParamForCoding
public ResourceIndexedSearchParamToken createSearchParamForCoding(String theResourceType, ca.uhn.fhir.context.RuntimeSearchParam theSearchParam, org.hl7.fhir.instance.model.api.IBase theValue) - Specified by:
createSearchParamForCodingin interfaceISearchParamExtractor
-
getDisplayTextForCoding
- Specified by:
getDisplayTextForCodingin 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:
toRootTypeNamein interfaceISearchParamExtractor
-
toTypeName
- Specified by:
toTypeNamein interfaceISearchParamExtractor
-
setPartitionSettings
-
split
- Specified by:
splitin 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
-